练习案例1:设计立方体类
设计立方体类(Cube)
求出立方体的面积和体积
分别用全局函数和成员函数判断两个立方体是否相等。
#include<iostream>
using namespace std;
//立方体类设计案例
//1.创建立方体类
//2.设置属性和行为
//3.设置行为 获取立方体的面积和体积
//4.分别利用全局函数和成员函数,判断两个立方体是否相等
class Cube{
public:
//设置长
void setL(int l){
L=l;
}
//获取长
int getL(){
return L;
}
//设置宽
void setW(int w){
W=w;
}
//获取宽
int getW(){
return W;
}
//设置高
void setH(int h){
H=h;
}
//获取高
int getH(){
return H;
}
//获取立方体的面积
int calculateS(){
return 2*L*W+2*W*H+2*L*H;
}
//获取立方体的体积
int calculateV(){
return L*W*H;
}
//利用成员函数判断两个立方体是否相等
bool isSameByClass(Cube &c){
if(L==c.getL()&&W==c.getW()&&H==c.getH()){
return true;
}
return false;
}
private:
int L;//长度
int W;//宽度
int H;//高度
};
//利用全局函数判断,两个立方体是否相等
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.setL(10);
c1.setW(20);
c1.setH(10);
cout<<"c1的面积为:"<<c1.calculateS()<<endl;
//1000
cout<<"c1的体积为"<<c1.calculateV()<<endl;
//创建第二个立方体
Cube c2;
c2.setL(10);
c2.setW(10);
c2.setH(10);
//利用全局函数判断
bool ret= isSame(c1,c2);
if(ret){
cout<<"c1和c2是相等的"<<endl;
}else{
cout<<"c1和c2是不相等的"<<endl;
}
ret=c1.isSameByClass(c2);
//这里调用的是c1的方法,c1是已知的,然后把c2穿进去。这样进行判断
if(ret){
cout<<"成员函数判断:c1和c2是相等的"<<endl;
}else{
cout<<"成员函数判断:c1和c2是不相等的"<<endl;
}
//利用成员函数判断
system("pause");
return 0;
}