建立立方体通过全局和成员函数比较两个立方体面积和体积是否相等!
一、建立立方体类
class cube {
public://公共
//设置长
void setL(float l) {
L = l;
}
//获取长
float getL() {
return L;
}
//设置宽
void setW(float w) {
W= w;
}
//获取宽
float getW() {
return W;
}
//设置高
void setH(float h) {
H = h;
}
//获取高
float getH() {
return H;
}
//求立方体的面积
void getcubeS() {
float s = 2 * L * W + 2 * L * H + 2 * W * H;
cout << "立方体的面积:" << s << endl;
}
//求立方体的面积
void getcubeV() {
float v = L * W * H;
cout << "立方体的体积:" << v << endl;
}
bool compareClass(cube& cube) {
//第一种判断方法
bool a2 = L == cube.getL() && W ==cube.getW() && H == cube.getH();
return a2;
}
private://私有
float L;//长
float W;//宽
float H;//高
};
bool compare(cube& cube1, cube& cube2) {
//第二种判断方法(与第一种判断方法效果一样,只是代码不同)
if (cube1.getL() == cube2.getL() && cube1.getW() == cube2.getW() && cube1.getH() == cube2.getH() ){
return true;
}
return false;
}
立方体类中包含判断两个立方体是否相等的成员函数
bool compareClass(cube& cube) {
//第一种判断方法
bool a2 = L == cube.getL() && W ==cube.getW() && H == cube.getH();
return a2;
}
二、全局函数判断两个立方体是否相等
bool compare(cube& cube1, cube& cube2) {
//第二种判断方法(与第一种判断方法效果一样,只是代码不同)
if (cube1.getL() == cube2.getL() && cube1.getW() == cube2.getW() && cube1.getH() == cube2.getH() ){
return true;
}
return false;
}
三、完整源代码
#define _CRT_SECURE_NOWARNINGS//宏定义,防止调用函数时报错
#include <iostream>
using namespace std;
class cube {
public://公共
//设置长
void setL(float l) {
L = l;
}
//获取长
float getL() {
return L;
}
//设置宽
void setW(float w) {
W= w;
}
//获取宽
float getW() {
return W;
}
//设置高
void setH(float h) {
H = h;
}
//获取高
float getH() {
return H;
}
//求立方体的面积
void getcubeS() {
float s = 2 * L * W + 2 * L * H + 2 * W * H;
cout << "立方体的面积:" << s << endl;
}
//求立方体的面积
void getcubeV() {
float v = L * W * H;
cout << "立方体的体积:" << v << endl;
}
bool compareClass(cube& cube) {
//第一种判断方法
bool a2 = L == cube.getL() && W ==cube.getW() && H == cube.getH();
return a2;
}
private://私有
float L;//长
float W;//宽
float H;//高
};
bool compare(cube& cube1, cube& cube2) {
//第二种判断方法(与第一种判断方法效果一样,只是代码不同)
if (cube1.getL() == cube2.getL() && cube1.getW() == cube2.getW() && cube1.getH() == cube2.getH() ){
return true;
}
return false;
}
void test01() {
//第一个立方体
cube c1;
float l1,w1,h1;
cout << "输入第一个立方体的长:" << endl;
cin >>l1;
cout<< "输入第一个立方体的宽:" << endl;
cin >> w1;
cout << "输入第一个立方体的高:" << endl;
cin >> h1;
c1.setL(l1);
c1.setW(w1);
c1.setH(h1);
c1.getcubeS();
c1.getcubeV();
//第二个立方体
cube c2;
float l2, w2, h2;
cout << "输入第二个立方体的长:" << endl;
cin >> l2;
cout << "输入第二个立方体的宽:" << endl;
cin >> w2;
cout << "输入第二个立方体的高:" << endl;
cin >> h2;
c2.setL(l2);
c2.setW(w2);
c2.setH(h2);
c2.getcubeS();
c2.getcubeV();
//通过全局函数判断两个立方体是否相等
bool a1 = compare(c1, c2);
if (a1) {
cout << "全局::c1与c2相等!" << endl;
}
else {
cout << "全局::c1与c2不相等!" << endl;
}
//通过成员函数判断两个立方体是否相等
bool a2=c1.compareClass( c2);
if (a2) {
cout << "成员::c1与c2相等!" << endl;
}
else {
cout << "成员::c1与c2不相等!" << endl;
}
}
int main() {
test01();
system("pause");
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结