类和对象-封装-设计案例1

  • 判断两个立方体是否相等
#include<iostream>
#include<string>

using namespace std;

//立方体类设计
//1、创建立方体类
//2、设计属性
//3、设计行为获取立方体面积和体积
//4、分别利用全局函数和成员函数判断两个立方体是否相等

class Cube
{
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 calculateV()
	{
		return m_H * m_L * m_W;
	}
	//获取立方体面积
	int calculateS()
	{
		return m_H * m_H * 2 + m_L * m_L * 2 + m_W * m_W * 2;
	}

	//利用成员函数判断两个立方体是否相等
	bool isSame(Cube &c)
	{
		if(m_H == c.getH() && m_L == c.getL() && m_W == c.getW())
		{
			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;
	Cube c2;

	c1.setH(1);
	c1.setL(2);
	c1.setW(3);
	
	c2.setH(1);
	c2.setL(2);
	c2.setW(3);

	//利用全局函数判断
	bool res1 = isSame(c1, c2);
	if(res1)
	{
		cout << "c1和c2是相等的" << endl;
	}
	else
	{
		cout << "c1和c2是不相等的" << endl;
	}

	//利用成员函数判断
	bool res2 = c1.isSame(c2);
	cout << "\n以下是成员函数判断:" << endl;
	if(res2)
	{
		cout << "c1和c2是相等的" << endl;
	}
	else
	{
		cout << "c1和c2是不相等的" << endl;
	}

	system("pause");

	return 0;
}
posted @ 2021-07-19 16:57  毋纵年华  阅读(38)  评论(0)    收藏  举报