类和对象-封装-封装设计案例2(立方体类)

简介: 类和对象-封装-封装设计
#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;
}
目录
相关文章
|
6月前
|
设计模式 安全 Java
|
2天前
|
数据安全/隐私保护 C++
C++类与对象【封装】
C++类与对象【封装】
|
7月前
|
编译器 C++
【C++】特殊类设计(上)
【C++】特殊类设计(上)
|
7月前
|
设计模式 安全 Java
【C++】特殊类设计(下)
【C++】特殊类设计(下)
|
8月前
|
8月前
类和对象-封装-封装的意义
类和对象-封装-封装的意义
34 0
|
10月前
|
设计模式 安全 Java
特殊类的设计
特殊类的设计
52 0
|
12月前
19-类和对象-封装-立方体类
19-类和对象-封装-立方体类
|
12月前
20-类和对象-封装-点和圆的关系
20-类和对象-封装-点和圆的关系