设计一个立方体类(cube)
求述立方体的面积和体积
分别用全局函数和成员函数判断俩个立方体是否相等
//立方体封装案例
//创建一个立方体的类
//设计属性和行为
//获取立方体的面积和体积
//分别利用全局函数和成员函数来判断两个立方体是否相等
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 (m_h*m_w+m_h*m_l+m_l*m_w)*2;
}
//获取立方体的体积
int claculatev(){
return m_h*m_l*m_w;
}
//m_l,m_w,m_h都是自身的,c.get都是传进来
//利用成员函数判断
bool issamebyclass(cube &c){
if(m_l==c.getl()&&m_w==c.getw()&&m_h==c.geth()){
return 1;
}
return 0;
}
private:
int m_l;//长
int m_w;//宽
int m_h;//高
}
//利用全局函数判断两个立方体是否相等
//这里用&是防止在复制数据,直接调用数据即可
bool issame(cube &c1,cude &c2){
if(c1.getl()==c2.getl()&&c1.getw()==c2.get2()&&c1.geth()==c2.geth()){
return 1;
}
return 0;
}
int main(){
//创建一个立方体对象
cube c1;
c1.setl(10);
c1.setw(20);
c1.seth(30);
cout<<c1.calculates()<<endl;//输出面积
cout<<c1.calculatev()<<endl;//输出体积
//创建第二个立方体
cube c2;
c2.setl(10);
c2.setw(22);
c2.seth(30);
//利用ret接受全局判断的初值
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");
system("cls");
return 0;
}