#include<bits/stdc++.h> using namespace std; class Cube { public: //行为,获取立方体 //设置长 void setL(int l) { m_L = l; } //获取长 int getL() { return m_L; } //设置宽 void setW(int w) { m_W = w; } //获取宽 int getW() { return m_W; } //设置高 void setH(int h) { m_H = h; } //获取高 int getH() { return m_H; } //获取立方体面积 int calculateS() { return 2 * m_L*m_W + 2 * m_W*m_H + 2 * m_H*m_L; } //获取立方体体积 int calculateV() { return m_L * m_W * m_H; } //利用成员函数判断两个立方体是否相等 bool isSameByClass(Cube &c) { if (m_L == c.getL() && m_W == c.getW() && m_H == c.getH()) { return true; } return false; } private: //属性 int m_H;//高 int m_L;//长 int m_W;//宽 }; //利用全局函数判断两个立方体相等 bool isSame(Cube &c1, Cube &c2)//引用的方式传递,不会再拷贝一份数据 { if (c1.getL() == c2.getL() && c1.getW() == c2.getW() && c1.getH() == c2.getH()) { return true; } return false; } int main() { //创建立方体对象 Cube c1; c1.setH(10); c1.setL(10); c1.setW(10); cout << "c1的面积为" << c1.calculateS() << endl; cout << "c1的体积为" << c1.calculateV() << endl; //创建第二个立方体 Cube c2; c2.setL(10); c2.setW(10); c2.setH(11); bool ret = isSame(c1, c2);//利用全局函数判断 if (ret) { cout << "c1和c2相等" << endl; } else { cout << "c1和c2不相等" << endl; } ret = c1.isSameByClass(c2);//利用成员函数判断 if (ret) { cout << "成员c1和c2相等" << endl; } else { cout << "成员c1和c2不相等" << endl; } system("pause"); return 0; }