设计立方体类(Cube)

题目描述

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

法一:利用成员函数判断

#include<iostream>
using namespace std;
class Cube {
public:
	void setLong(int length) {
		c_L = length;
	}//可写,设置长
	int getLong() {
		return c_L;
	}//可读,读取长
	void setWidth(int width) {
		c_W = width;
	}//可写,设置长
	int getWidth() {
		return c_W;
	}//可读,读取长
	void setHeight(int height) {
		c_H = height;
	}//可写,设置长
	int getHeight() {
		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_L == c.getLong()) &&( c_W == c.getWidth()) && (c_H == c.getHeight())) { 
			return true; 
		}
		return false;
	}//利用成员函数判断二者是否相等
private:
	int c_L;//长
	int c_W;//宽
	int c_H;//高
}C1,C2;
int main() {
	int L1, W1, H1, L2, W2, H2;
	cin >> L1 >> W1 >> H1;
	cin >> L2 >> W2 >> H2;
	C1.setLong(L1);
	C1.setWidth(W1);
	C1.setHeight(H1);
	C2.setLong(L2);
	C2.setWidth(W2);
	C2.setHeight(H2);
	cout << "C1的表面积是" << C1.calculateS() << endl;
	cout << "C2的表面积是" << C2.calculateS() << endl;
	cout << "C1的体积是" << C1.calculateV() << endl;
	cout << "C2的体积是" << C2.calculateV() << endl;
	if (C1.isSameByClass(C2))
		cout << "根据成员函数判断,C1和C2是相等的。";
	else
		cout<< "根据成员函数判断,C1和C2是不等的。";
	return 0;
}

法二:利用全局函数判断

#include<iostream>
using namespace std;
class Cube {
public:
	void setLong(int length) {
		c_L = length;
	}//可写,设置长
	int getLong() {
		return c_L;
	}//可读,读取长
	void setWidth(int width) {
		c_W = width;
	}//可写,设置长
	int getWidth() {
		return c_W;
	}//可读,读取长
	void setHeight(int height) {
		c_H = height;
	}//可写,设置长
	int getHeight() {
		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; 
	}//获取立方体体积
private:
	int c_L;//长
	int c_W;//宽
	int c_H;//高
}C1,C2;
bool  isSame(Cube& c1, Cube& c2) {
	if ((c1.getLong() == c2.getLong()) && (c1.getWidth() == c2.getWidth()) && (c1.getHeight() == c2.getHeight()))
		return true;
	return false;
}
int main() {
	int L1, W1, H1, L2, W2, H2;
	cin >> L1 >> W1 >> H1;
	cin >> L2 >> W2 >> H2;
	C1.setLong(L1);
	C1.setWidth(W1);
	C1.setHeight(H1);
	C2.setLong(L2);
	C2.setWidth(W2);
	C2.setHeight(H2);
	cout << "C1的表面积是" << C1.calculateS() << endl;
	cout << "C2的表面积是" << C2.calculateS() << endl;
	cout << "C1的体积是" << C1.calculateV() << endl;
	cout << "C2的体积是" << C2.calculateV() << endl;
	if (isSame(C1,C2))
		cout << "根据全局函数判断,C1和C2是相等的。";
	else
		cout << "根据全局函数判断,C1和C2是不等的。";
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Grausam

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值