案例1
设计立方体类
设计立方体类(fang)
求出立方体的表面面积和体积
分别用全局函数和成员函数判断两个立方体是否相等
#include <iostream>
using namespace std;
// 创建一个立方体的类
// 设计属性和行为
// 获取立方体的面积和体积
// 分别利用全局函数和成员函数 判断两个立方体是否相等
class fang
{
public:
// 行为
// 设置 长 宽 高
void setL(int l)
{
m_l = l;
}
void setW(int w)
{
m_w = w;
}
void setH(int h)
{
m_h = h;
}
// 获取 长 宽 高
int getL()
{
return m_l;
}
int getW()
{
return m_w;
}
int getH()
{
return m_h;
}
// 获取立方体面积
int fangS()
{
return 2 * m_w * m_l + 2 * m_w * m_h + 2 * m_h * m_l;
}
// 获取立方体体积
int fangV()
{
return m_h * m_l * m_w;
}
// 利用成员函数判断两个立方体相不相等
bool ifclass_name(fang &c)
{
if (m_l == c.getL() && m_w == c.getW() && m_l == c.getL())
{
return true;
}
return false;
}
private:
int m_l; // 长
int m_w; // 宽
int m_h; // 高
};
// 利用全局函数判断 两个立方体是否相等
bool ifname(fang &fang1, fang &fang2)
{
if (fang1.getL() == fang2.getL() && fang1.getW() == fang2.getW() && fang1.getL() == fang2.getL())
{
return true;
}
return false;
}
int main(void)
{
fang fang1; // 创建对象
fang1.setL(10);
fang1.setH(10);
fang1.setW(10);
// 600
// 1000
cout << "fang 1的面积为 " << fang1.fangS() << endl;
cout << "fang 1的体积为 " << fang1.fangV() << endl;
// 创建第二个立方体
fang fang2;
fang2.setL(10);
fang2.setH(10);
fang2.setW(11);
cout << "fang 2的面积为 " << fang2.fangS() << endl;
cout << "fang 2的体积为 " << fang2.fangV() << endl;
bool ret = ifname(fang1, fang2);
if (ret)
{
cout << "相等" << endl;
}
else
{
cout << "不相等" << endl;
}
// 利用成员判断是否相等
ret = fang1.ifclass_name(fang2);
if (ret)
{
cout << "相等" << endl;
}
else
{
cout << "不相等" << endl;
}
system("pause");
return 0;
}