#include <iostream> using namespace std; //设计立方体类 //要求:1.求出立方体的面积和体积 // 2.分别用全局函数和成员函数判断两个立方体是否相等 //立方体类 class Cube{ private: float clong;//成员变量:长 float cwide;//宽 float chigh;//高 public: void setclong(float l)//设置长 { clong=l; } void setcwide(float w)//设置宽 { cwide=w; } void setchigh(float h)//设置高 { chigh=h; } float getclong()//获取长 { return clong; } float getcwide()//获取宽 { return cwide; } float getchigh()//获取高 { return chigh; } float area()//求立方体面积 { return 2*(clong*cwide+clong*chigh+cwide*chigh);//返回面积值 } float volume() //求立方体体积 { return clong*cwide*chigh;//返回体积值 } bool is_same(Cube &c) //成员函数判断两个立方体是否相等 //成员函数中本身就有一个立方体,所以只要再传一个立方体 { if(clong==c.getclong()&&cwide==c.getcwide()&&chigh==c.getchigh()) { return true; } else { return false; } } }; //全局函数判断两个立方体是否相等 bool is_equal(Cube &c1,Cube &c2) { if(c1.getclong()==c2.getclong()&&c1.getcwide()==c2.getcwide()&&c1.getchigh()==c2.getchigh()) { return true; } else { return false; } } int main(int argc, char** argv) { Cube c1;//建立立方体1 c1.setclong(1); c1.setcwide(2); c1.setchigh(3); cout<<"立方体1的面积为:"<<c1.area()<<endl; cout<<"立方体2的面积为:"<<c1.volume()<<endl; Cube c2;//建立立方体2 c2.setclong(2); c2.setcwide(3); c2.setchigh(4); if(is_equal(c1,c2))//利用全局函数判断两个立方体是否相等 { cout<<"两个立方体相等"<<endl; } else { cout<<"两个立方体不相等"<<endl; } if(c1.is_same(c2))//利用成员函数判断两个立方体是否相等 { cout<<"两个立方体相等"<<endl; } else { cout<<"两个立方体不相等"<<endl; } return 0; }