类和对象:
案例1:
设计立方体类(Cube)
- 求出立方体的面积和体积
- 分别用全局函数和成员函数判断两个立方体是否相等。
设计方法:
- 创建立方体类
- 设计属性
- 设计行为 求立方体面积和体积
- 分别用全局和成员函数 判断立方体是否相等
#include<iostream>
using namespace std;
class Cube
{
public:
//设置长
void setL(int l)
{
m_L = l;
}
//获取长
int getL()
{
return m_L;
}
//设置宽
void setW(int w)
{
m_W = w;
}
//获取宽
int getW()
{
return m_W;
}
//设置高
void setH(int h)
{
m_H = h;
}
//获取高
int getH()
{
return m_H;
}
//获取立方体面积
int calculateS()
{
return 2 * (m_L * m_W + m_L * m_H + m_W * m_H);
}
//获取立方体体积
int calculateV()
{
return m_H * m_L * m_W;
}
//利用成员函数判断两个立方体是否相等
bool isSameByClass(Cube &c)
{
if (m_L == c.getL() && m_W == c.getW() && m_H == c.getH())
{
return true;
}
return false;
}
private:
//属性
int m_L;
int m_W;
int m_H;
};
//利用全局函数判断 两个立方体是否相等
bool isSame(Cube &c1, Cube &c2)
{
if (c1.getH() == c2.getH() && c1.getL() == c2.getL() && c1.getW() == c2.getW())
return true;
return false;
}
int main()
{
Cube c1;
c1.setL(10);
c1.setH(10);
c1.setW(10);
cout << "c1的面积为: " << c1.calculateS() << endl;
cout << "c1的体积为: " << c1.calculateV() << endl;
//创建立方体c2
Cube c2;
c2.setL(10);
c2.setH(10);
c2.setW(10);
cout << "c2的面积为: " << c2.calculateS() << endl;
cout << "c2的体积为: " << c2.calculateV() << endl;
//利用全局函数判断
bool ret = isSame(c1, c2);//注意不要漏数据类型
if (ret == true)
cout << "立方体完全相等" << endl;
else
cout << "立方体不完全相等" << endl;
//利用成员函数判断
ret = c1.isSameByClass(c2);
if (ret == true)
cout << "成员函数判断: 立方体完全相等" << endl;
else
cout << "成员函数判断: 立方体不完全相等" << endl;
system("pause");
return 0;
}
运行结果如下:
设计完成