题目:设一个立方体类(Cube),求出立方体的面积和体积,分别用全局函数和成员函数判断两个立方体是否相等。
注:设长宽高为a,b,c。则:
面积为( 2ab + 2ac + 2bc );体积为( a * b * c)。
#include <iostream>
using namespace std;
class Cube{
private:
int L;
int W;
int H;
public:
//初始化函数
void init(int L1,int W1, int H1)
{
L=L1;
W=W1;
H=H1;
}
//获取体积函数
void getV();
//获取面积函数
void getS();
//设置长宽高函数
void setL(int L1);
void setW(int W1);
void setH(int H1);
//获取长宽高函数
int getL();
int getW();
int getH();
//成员比较函数
bool compareCube02(Cube &ob);
};
//全局比较函数
bool compareCube01(Cube &ob,Cube &op)
{
if((ob.getH()==op.getH())&&(ob.getL()==op.getL())&&(ob.getW()==op.getW()))
return true;
return false;
}
int main()
{
Cube obj1;
obj1.init(1,2,3);
obj1.getV();
obj1.getS();
Cube obj2;
obj2.init(1,2,4);
obj2.getV();
obj2.getS();
//全局比较
if(compareCube01(obj1,obj2)==true)
cout<<"1相等"<<endl;
else
cout<<"1不相等"<<endl;
//成员比较
if(obj1.compareCube02(obj2)==true)
cout<<"2相等"<<endl;
else
cout<<"2不相等"<<endl;
return 0;
}
void Cube::setL(int L1)
{
L=L1;
}
void Cube::setW(int W1)
{
W=W1;
}
void Cube::setH(int H1)
{
H=H1;
}
int Cube::getL()
{
return L;
}
int Cube::getW()
{
return W;
}
int Cube::getH()
{
return H;
}
void Cube::getV()
{
cout<<"体积="<<L*W*H<<endl;
}
void Cube::getS()
{
cout<<"面积="<<(W*L+L*H+W*H)*2<<endl;
}
bool Cube::compareCube02(Cube &ob)
{
if((L==ob.getL())&&(W==ob.getW())&&(H==ob.getH()))
return true;
return false;
}