19-类和对象-封装-立方体类

简介: 19-类和对象-封装-立方体类
#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;
}


相关文章
|
Java
面向对象编程的三大特征:封装;继承;多态
面向对象编程的三大特征:封装;继承;多态
66 0
|
3天前
|
存储 安全 编译器
封装、继承与多态究极详解
本文详细介绍了面向对象编程中的三大核心特性:封装、继承和多态。封装通过隐藏数据和提供接口,确保对象的安全性和一致性;继承通过类之间的“is-a”关系实现代码复用和扩展;多态则允许不同类的对象通过相同的接口执行不同的操作,增强程序的灵活性和可扩展性。文章还探讨了这些特性的底层实现机制,如虚函数表和内存布局,并提供了具体的代码示例。
15 0
|
6月前
|
安全
面向对象特征(抽象、封装、继承、多态)的具体用法
面向对象特征(抽象、封装、继承、多态)的具体用法
25 0
|
6月前
面向对象三大特征——封装,继承
面向对象三大特征——封装,继承
|
7月前
|
设计模式 存储 Java
【类图、类与类的关系、多态】
学习Java面向对象,掌握UML类图绘制,包括14种图形,使用PowerDesigner演示类图创建。理解类与类的关系,如继承、实现、依赖、关联、聚合、组合,以及`instanceof`关键字。学习简单工厂设计模式,实现多态,理解其在面试和设计原则中的重要性。通过实例操作,如String类常用方法、汽车与4S店案例,加深对面向对象概念的理解。最后,探讨面向对象设计原则,如单一职责、开闭原则、里氏替换原则、依赖倒置、接口隔离、迪米特法则和组合/聚合复用原则。
99 1
|
7月前
|
数据安全/隐私保护 C++
C++类与对象【封装】
C++类与对象【封装】
|
设计模式
从“封装、继承、多态”看构建知识网
从“封装、继承、多态”看构建知识网
60 0
20-类和对象-封装-点和圆的关系
20-类和对象-封装-点和圆的关系