C++ 22 之 立方体案例
c22立方体案例.cpp
#include <iostream>
#include <string>using namespace std;class Cube{
private:int cube_l; // 长int cube_w; // 宽int cube_h; // 高public:// 设置长void set_l(int l){cube_l = 1;}// 设置宽void set_w(int w){cube_w = w;}// 设置高void set_h(int h){cube_h = h;}// 获取长int get_l(){return cube_l;}// 获取宽int get_w(){ return cube_w;}// 获取高int get_h(){return cube_h;}// 求面积int cube_s(){return 2*cube_l*cube_h + 2*cube_l*cube_w + 2*cube_w*cube_h;}// 求体积int cube_v(){return cube_l*cube_w*cube_h;}// 成员函数实现判断是否相等bool com_cube_class(Cube &c2){return cube_l == c2.get_l() && cube_h == c2.get_h() && cube_w == c2.get_w();}};// 判断两个立方体是否相等(全局函数)
bool com_cube(Cube &c1, Cube &c2){// 方法1:// if(c1.get_l() == c2.get_l() && c1.get_h() == c2.get_h() && c1.get_w() == c2.get_w()){// return true;// }// return false;// 方法2:return c1.get_l() == c2.get_l() && c1.get_h() == c2.get_h() && c1.get_w() == c2.get_w();
}int main()
{Cube c1;c1.set_l(10);c1.set_w(10);c1.set_h(10);Cube c2;c2.set_l(10);c2.set_h(10);c2.set_w(11);cout << "c1面积: "<< c1.cube_s()<<endl;cout << "c1体积: " << c1.cube_v() << endl;// 全局函数判断是否相等// bool res = com_cube(c1, c2);bool res = c1.com_cube_class(c2);if(res){cout << "相等" << endl;}else{cout << "不相等" << endl;}return 0;
}