news 2026/5/25 8:43:03

建立普通的基类Building,用来存储一座楼房的层数、房间数以及它的总平方米数。建立派生类House,继承Building,并存储下面的内容:卧室与浴室的数量。另外,建立派生类Office,继承Bu

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
建立普通的基类Building,用来存储一座楼房的层数、房间数以及它的总平方米数。建立派生类House,继承Building,并存储下面的内容:卧室与浴室的数量。另外,建立派生类Office,继承Bu
class Builing { private: int cengshu;//层数 int fangjianshu;//房间数 double total_area;//总平方米 public: //构造函数 Builing(int ceng = 0, int fangjian = 0, double area =0.0) :cengshu(ceng), fangjianshu(fangjian), total_area(area) { //检验合法性 if (cengshu < 0) { cengshu = 0; } if (fangjianshu < 0) { fangjianshu = 0; } if (total_area < 0) { total_area = 0; } } //获得属性 int getcengshu()const { return cengshu; } int getfangjianshu()const { return fangjianshu; } double gettotal_area()const { return total_area; } //设置属性 int setcengshu(int ceng) { if (cengshu >= 0) { cengshu = ceng; } } int setfangjianshu(int fangjian) { if (fangjianshu >=0 ) { fangjianshu = fangjian; } } int settotal_area(double area) { if (total_area >=0) { total_area = area; } } //显示信息 virtual void show()const { cout << "楼房信息 " << endl; cout << "层数" << cengshu << endl; cout << "房间数量" << fangjianshu << endl; cout << "总平方米" << total_area << "平方米" << endl; } }; class House :public Builing { private: int bedroom_count;//卧室数量 int bathroom_count;//浴室数量 public: //构造函数 House(int ceng = 0, int fangjian = 0, double area = 0.0, int bedroom = 0, int bathroom = 0) : Builing(ceng, fangjian, area), bedroom_count(bedroom), bathroom_count(bathroom) { //检验合理性 if (bedroom_count < 0) { bedroom_count = 0; } if (bathroom_count < 0) { bathroom_count = 0; } } //显示信息 void show()const { //因为show是虚函数 Builing::show(); cout << "住宅信息" << endl; cout << "卧室数量" << bedroom_count << endl; cout << "浴室数量" << bathroom_count << endl; } }; class Office :public Builing { private: int fire_extinguisher;//灭火器数量 int phone_count;//电话数量 public: Office(int ceng = 0, int fangjian = 0, double area = 0.0, int fire = 0, int phone = 0) : Builing(ceng, fangjian, area), fire_extinguisher(fire), phone_count(phone) { if (fire_extinguisher < 0) { fire_extinguisher = 0; } if (phone_count < 0) { phone_count = 0; } } //显示信息 void show()const { Builing::show(); cout << "办公室信息" << endl; cout << "灭火器数量" << fire_extinguisher << endl; cout << "电话数量" << phone_count << endl; } }; int main() { Builing* b1 = nullptr, * b2 = nullptr; House house(3, 8, 120, 2, 4); b1 = &house; Office office(3, 8, 120, 8, 4); b2 = &office; b1->show(); cout << endl; b2->show(); return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/20 20:11:02

数字图像处理篇---小波变换

如果说傅里叶变换和DCT是用固定镜头观察世界&#xff0c;那么小波变换就是一部可以自由变焦、还能移动镜头的超强摄像机。核心比喻&#xff1a;用“显微镜”和“地图”分析图像想象你要分析一张城市全景图。傅里叶/DCT的做法&#xff08;固定视角&#xff09;&#xff1a;他们飞…

作者头像 李华
网站建设 2026/5/23 3:51:48

基于LSTM的剩余寿命预测附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f447; 关注我领取海量matlab电子书和…

作者头像 李华
网站建设 2026/5/23 3:08:08

第七十八篇-CentOS-7+安装cmake-3.24.3

系统&#xff1a;CentOS-7 下载 wget https://github.com/Kitware/CMake/releases/download/v3.24.3/cmake-3.24.3-linux-x86_64.sh 赋予执行权限 chmod x cmake-3.24.3-linux-x86_64.sh 创建目录 mkdir -p /no_move/cmake 安装 sudo ./cmake-3.24.3-linux-x86_64.sh --…

作者头像 李华
网站建设 2026/5/23 14:23:12

Maven 依赖管理

Maven 依赖管理 引言 Maven 是一个强大的构建自动化工具,主要用于 Java 项目的构建、测试、文档和报告。依赖管理是 Maven 的核心功能之一,它使得开发者能够轻松地引入外部库和框架,以支持项目开发。本文将详细介绍 Maven 的依赖管理机制,包括依赖的声明、解析、传递依赖…

作者头像 李华
网站建设 2026/5/20 20:01:44

SOAP 简介

SOAP 简介 引言 SOAP(Simple Object Access Protocol)是一种轻量级、简单、可扩展的协议,用于在网络上交换结构化信息。它允许不同平台、不同编程语言的应用程序之间进行通信。本文将详细介绍SOAP的基本概念、工作原理、优势以及应用场景。 SOAP的基本概念 SOAP是一种基…

作者头像 李华