/*设计立方体类(Cube)
求出立方体的面积(2*a*b+2*a*c+2*b*c)和体积(a*b*c)
分别用全局函数和成员函数判断两个立方体是否相等*/
#define _CRT_SECURE_ND_WARNINGS
#include<iostream>
#include<string>
using namespace std;
class Cube
{
public:
//设置长
void setA(int d)
{
a = d;
}
//获取长
int getA()
{
return a;
}
//设置宽
void setB(int e)
{
b = e;
}
//获取宽
int getB()
{
return b;
}
//设置高
void setC(int f)
{
c = f;
}
//获取高
int getC()
{
return c;
}
//求立方体的面积
void getCubeS()
{
int s = 2 * a * b + 2 * a * c + 2 * b * c;
cout << "面积为" << s << endl;
}
//求立方体的体积
void getCubeV()
{
int v = a * b * c;
cout << "体积为" << v << endl;
}
//通过成员函数判断是否相等
bool comepareCubeByClass(Cube & cub)
{
bool ret = a == cub.getA() && b == cub.getB() && c == cub.getC();
return ret;
}
private:
int a;//长
int b;//宽
int c;//高
};
//全局函数判断 两个立方体是否相等
bool compareCube(Cube& cub1, Cube& cub2)
{
if (cub1.getA() == cub2.getA() && cub1.getB() == cub2.getB() && cub1.getC() == cub2.getC())
{
return true;
}
return false;
}
void text01()
{
Cube c1;
c1.setA(10);
c1.setB(10);
c1.setC(10);
c1.getCubeS();//600
c1.getCubeV();//1000
//通过全局函数判断 两个立方体是否相等
Cube c2;
c2.setA(11);
c2.setB(10);
c2.setC(10);
bool ret = compareCube(c1, c2);
if (ret)
{
cout << "c1和c2是相等的" << endl;
}
else
{
cout << "c1和c2是不相等的" << endl;
}
//通过成员函数判断 两个立方体是否相等
bool ret2 = c1.comepareCubeByClass(c2);
if (ret2)
{
cout << "通过成员——c1和c2是相等的" << endl;
}
else
{
cout << "c1和c2是不相等的" << endl;
}
}
int main()
{
text01();
system("pause");
return EXIT_SUCCESS;
}