问题描述
设计立方体类(cube)
求立方体的体积和面积
分别利用全局函数和成员函数判断两个立方体是否相等
算法描述
#include<iostream>
#include<string>
using namespace std;
//立方体类
class cube
{
public:
void setcubel( double l) //设置立方体的长
{
m_l = l;
}
void setcubew(double w) //设置立方体的宽
{
m_w = w;
}
void setcubeh( double h) //设置立方体的高
{
m_h = h;
}
double getcubel() //获取立方体的长
{
return m_l;
}
double getcubew() //获取立方体的宽
{
return m_w;
}
double getcubeh() //获取立方体的高
{
return m_h;
}
//计算立方体的面积
double showS()
{
return 2 * (m_w * m_l + m_w * m_h + m_l * m_h);
}
//计算立方体的体积
double showV()
{
return m_w * m_l * m_h;
}
//利用成员函数判断立方体是否相等
// 类里存在一个立方体的属性,所以调用一份数据进来判断就好了
bool issameClass(cube &c)
{
if (m_l == c.getcubel() && m_h== c.getcubeh() && m_w== c.getcubew())
{
return true;
}
else
{
return false;
}
}
private:
double m_h;
double m_l;
double m_w;
};
//用全局函数判断立方体是否相等
bool issame(cube & c1, cube & c2)
{
if (c1.getcubel() == c2.getcubel() && c1.getcubeh() == c2.getcubeh() && c1.getcubew() == c2.getcubew())
{
return true;
}
else
{
return false;
}
}
int main()
{
cube c1;
c1.setcubel(10);
c1.setcubew(10);
c1.setcubeh(10);
cout << "S c1=" << c1.showS() << endl;
cout << "V c1=" << c1.showV() << endl;
cube c2;
c2.setcubel(10);
c2.setcubew(20);
c2.setcubeh(10);
cout << "S c2=" << c2.showS() << endl;
cout << "V c2=" << c2.showV() << endl;
//全局函数判断
bool ret = issame(c1, c2);
if (ret)
{
cout << "全局函数判断:c1=c2" << endl;
}
else{ cout << "全局函数判断:c1=!c2" << endl; }
//成员函数判断
ret = c1.issameClass(c2);
if (ret)
{
cout << "成员函数判断:c1=c2" << endl;
}
else { cout << "成员函数判断:c1=!c2" << endl; }
system("pause");
return 0;
}