[C++] cube クラスの単純な実装。これには、立方体の表面積と体積を計算し、2 つの立方体オブジェクトが等しいかどうかを判断するためのいくつかのメンバー関数とグローバル関数が含まれます。

このコードは cube クラスの単純な実装であり、立方体の表面積と体積を計算し、2 つの立方体オブジェクトが等しいかどうかを判断するためのいくつかのメンバー関数とグローバル関数が含まれています。

 

コードのコメントは次のとおりです。

このコードは、Cubeキューブを表すクラスを定義し、関連する関数を実現するためのいくつかのメンバー関数とグローバル関数を含みます。この関数では、最初に 2 つの立方体オブジェクトと がmain作成され、次に各オブジェクトの長さ、幅、高さを設定することによって初期化されます。次に、メンバー関数とグローバル関数をそれぞれ使用して、2 つの立方体オブジェクトが等しいかどうかを判断し、計算された表面積と体積を出力します。c1c2

注:system("pause")これは、プログラムの実行後にコンソール ウィンドウを一時停止して出力を表示するために使用されます。このコード行は、さまざまなコンパイル環境の実際の状況に応じて調整または削除する必要がある場合があります。

#include<iostream>
using namespace std;

class Cube
{
public:
	// 设置立方体的长度
	void setl(int l)
	{
		C_L = l;
	}

	// 获取立方体的长度
	int getl()
	{
		return C_L;
	}

	// 设置立方体的宽度
	void setw(int w)
	{
		C_W = w;
	}

	// 获取立方体的宽度
	int getw()
	{
		return C_W;
	}

	// 设置立方体的高度
	void seth(int h)
	{
		C_H = h;
	}

	// 获取立方体的高度
	int geth()
	{
		return C_H;
	}
	
	// 计算立方体的表面积
	int calculateS()
	{
		return 2 * C_L * C_W + 2 * C_L * C_H + 2 * C_W * C_H;
	}

	// 计算立方体的体积
	int calculateV()
	{
		return C_L * C_W * C_H;
	}

	// 成员函数判断两个立方体对象是否相等
	bool issamebyClass(Cube& c)
	{																	
		if (C_H == c.geth() && C_L == c.getl() && C_W == c.getw())
		{
			return true;
		}
		return false;
	}

private:
	int C_L;  // 立方体的长度
	int C_W;  // 立方体的宽度
	int C_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(void)
{
	Cube c1;
	c1.seth(10);
	c1.setl(10);
	c1.setw(10);

	cout << c1.calculateS() << endl;  // 输出立方体的表面积
	cout << c1.calculateV() << endl;  // 输出立方体的体积

	Cube c2;
	c2.seth(10);
	c2.setl(10);
	c2.setw(10);

	// 判断两个立方体对象是否相等
	bool ret = issame(c1, c2);
	if (ret)
	{
		cout << "c1和c2相等" << endl;
	}
	else
	{
		cout << "c1和c2不相等" << endl;
	}

	// 使用成员函数判断两个立方体对象是否相等
	bool ret2 = c1.issamebyClass(c2); 
	if (ret2)
	{
		cout << "利用成员函数,c1和c2相等" << endl;
	}
	else
	{
		cout << "利用成员函数,c1和c2不相等" << endl;
	}

	system("pause");
	return 0;
}

おすすめ

転載: blog.csdn.net/dsafefvf/article/details/131561351