C++实例教程之C++经典案例

设计立方体类

设计立方体类(Cube)并求出立方体的面积和体积,分别用全局函数和成员函数判断两个立方体是否相等。

#include<iostream>
using namespace std;

class Cube
{
private:
	int c_L;	//长
	int c_W;	//宽
	int c_H;	//高
public:
	//使用方法设置长方体的长宽高
	void setL_W_H(int l, int w, int h)
	{
		c_L = l;
		c_W = w;
		c_H = h;
	}
	int getL()	//获取长
	{
		return c_L;
	}
	int getW()	//获取宽
	{
		return c_W;
	}
	int getH()	//获取高
	{
		return c_H;
	}
	//返回长方体的表面积
	int evaluateS()
	{
		return 2 * (c_L * c_W + c_L * c_H + c_W * c_H);
	}
	//返回长方体的体积
	int evaluateV()
	{
		return c_L * c_W * c_H;
	}
	//用成员函数判断两个立方体是否相等
	bool isSame(Cube c)
	{
		if(c_L == c.getL() && c_W == c.getW() && c_H == c.getH())
		{
			return true;
		}
		return false;
	}
};
//用全局函数判断两个立方体是否相等
bool isSame(Cube &c1, Cube &c2)
{
	if (c1.getL() == c2.getL() && c1.getW() == c2.getW() && c1.getH() == c2.getH())
	{
		return true;
	}
	return false;
}
int main()
{
	Cube c;
	c.setL_W_H(10,10,10);
	cout << "长方体c的面积为:" << c.evaluateS() << endl;
	cout << "长方体c的体积为:" << c.evaluateV() << endl;
	Cube c2;
	c2.setL_W_H(10, 10, 11);
	bool ret = isSame(c, c2);
	if (ret)
	{
		cout << "全局函数下立方体1与立方体2相等" << endl;
	}
	else
	{
		cout << "全局函数下立方体1与立方体2不相等" << endl;
	}
	ret = c.isSame(c2);
	if (ret)
	{
		cout << "成员函数下立方体1与立方体2相等" << endl;
	}
	else
	{
		cout << "成员函数下立方体1与立方体2不相等" << endl;
	}
	system("pause");
	return 0;
}
0.053126s