C++--建立一个建筑物类的层次体系

C++ 实验题 建立一个楼房基类 Building 为基类 建立一个楼房基类 Building 为基类,用于存储地址和楼号,建立住宅类 House 继承 Building ,用来存储房号和面积,另外建立办公室类 Ofice 继承 Building ,存储办公室名称和电话号码。 在这里插入代码片#include<iostream> #include<string> #include<stdlib.h> using namespace std; class Building { public: void Buildings(str 阅读详情

题目:建立一个建筑物类的层次体系。

 基类 Building 包括保护数据成员 name(建筑物名称)、 floors (层数)和 areas (总面积)
 由 building 类派生住宅类 House(10分)
 住宅类 House 包括私有数据成员 rooms(房间数) 和 balcony(阳台数);静态私有数据成员roomsCount,balconyCount,用于统计House类不同对象的房间总数和阳台总数。
 公有函数成员:
 带参构造函数House(int rooms1, int balcony1, string name1, int floors1, float areas1)
 返回值为void的print()成员函数,输出格式如下:
 返回值为void的静态成员函数count(),统计House类的不同对象的房间数和阳台数之和。输出格式如下:

 办公楼类 Office要求和House类似:(10分)
 办公楼类 Office 包括私有数据成员 offices (办公室数)和 meetingrooms(会议室数),静态私有数据成员officesCount和meetingroomsCount。
 公有成员如下:
 构造函数。
 print()函数,输出格式可参考后面的输出要求。
 count()静态成员函数。

 在主函数中,实例化 House 类和 Office 类对象house1和house2以及office1和office2并且将其数据输出,输出时要由类的对象调用成员函数完成输出操作,得到输出结果。

#include <iostream>
#include <stdio.h>

using namespace std;

class Building
{
protected:
    string name;
    int floors;
    float areas;
public:
    Building(string name1, int floors1, float areas1){
        name=name1;
        floors=floors1;
        areas=areas1;
    }
};

class House:public Building
{
private:
    int rooms;
    int balcony;
    static int roomsCount;
    static int balconyCount;
    
public:
    House(int rooms1, int balcony1,string name1, int floors1, float areas1):Building(name1,floors1,areas1){
        rooms=rooms1;
        balcony=balcony1;
    }
    void print(){
        cout<<"大楼名:"<<name<<":"<<endl
        <<"楼层总数:"<<floors<<endl
        <<"总面积:"<<areas<<endl
        <<"House对象基本信息:"<<endl
        <<"房间数:"<<rooms<<endl
        <<"阳台数:"<<balcony<<endl;
    }
    
    int coun(){
        return rooms*floors;
    }
    static void count(House a){
        
        roomsCount=a.rooms*a.floors;
        balconyCount=a.balcony*a.floors;
        
        cout<<"数信大楼住宅统计:"<<endl
        <<"房间总数:"<<roomsCount<<endl
        <<"阳台总数:"<<balconyCount<<endl;
        
        
    }
};

int House::roomsCount=0;
int House::balconyCount=0;

class Office:public Building
{
private:
    int offices;
    int meetingrooms;
    static int officesCount;
    static int meetingroomsCount;
public:
    Office(int offices1,int meetingrooms1,string name1, int floors1, float areas1):Building(name1,floors1,areas1){
        offices=offices1;
        meetingrooms=meetingrooms1;
    }
    void print(){
        cout<<"大楼名:"<<name<<":"<<endl
        <<"楼层总数:"<<floors<<endl
        <<"总面积:"<<areas<<endl
        <<"Office对象基本信息:"<<endl
        <<"办公室数:"<<offices<<endl
        <<"会议室数:"<<meetingrooms<<endl;
    }
    static void count(Office a){
        officesCount=a.offices*a.floors;
        meetingroomsCount=a.meetingrooms*a.floors;
        
        cout<<"数信大楼办公楼统计:"<<endl
        <<"办公室总数:"<<officesCount<<endl
        <<"会议室总数:"<<meetingroomsCount<<endl;
    }
};
int Office::officesCount=0;
int Office::meetingroomsCount=0;

int main()
{
    House house1(5,10,"数信大楼",1,100),house2(7,7,"数信大楼",1,100);
    Office office1(3,5,"数信大楼",1,100),office2(2,5,"数信大楼",1,100);
    house1.print();
    house2.print();
    office1.print();
    office2.print();
    cout<<endl;
    Office::count(office1);
    House::count(house1);
    
    return 0;
}

#输出
在这里插入图片描述

34、多媒体系统的推理引擎 本文详细介绍了推理引擎在多媒体系统中的关键作用,包括其在图像、音频和视频内容理解方面的应用。文章还探讨了推理引擎的集成方式、具体实现技术以及在Imalab系统中的模块化设计与多语言支持。通过实际应用场景如安防监控、医疗影像分析和智能交通系统的案例展示了推理引擎的强大功能。 阅读详情

相关推荐

昆明理工大学程序设计实验五.doc

建立一个建筑物类的层次体系,在主函数中,实例化house类和office类对象并且将其数据输出。设计一个计算图形面积的类库。复数运算,然后调用成员函数show输出计算结果。定义一个牌的类Deck表示一付牌,函数void deal()模拟发牌的过程。

C++第四章(继承与派生)

一、问答题 1、 如果基类和派生类都定义了同名的函数, 当派生类对象调用该函数时, 被调 用的将是哪个函数? 答:调用的派生类中定义的函数。 2、 有如下类定义: class MyBASE { public: void set(int n) { k = n; } int get() const { return k; } public: int k; }; class MyDERIVED :pro...

IT荻的博客 2518

新建一个雇员类,它的数据成员有雇员代号,年龄,工资,性别, 姓名,输入雇员资料方法,打印雇员资料方法。

编写程序,新建一个雇员类,它的数据成员有雇员代号,年龄,工资,性别, 姓名,输入雇员资料方法,打印雇员资料方法。以此雇员类为基类,从中派生出教师类,其中要求在教师类中加入一个计算教师工资的方法,教师工资=基本工资(1000)+课时(月工作量)×30。以此雇员类为基类,从中派生出实验员类, 其中要求在实验员类中加入一个计算实验员工资的方法,实验员工资=基本工资 (800)+实验室补助(150)+值班时间(月工作量)×5。以此雇员类为基类,从中派生出行政人员类,其中要求在行政人员类中加入一个计算行政人员工资的方法,行政人员工资=基本工资(900)+行政补贴(200)。分别实现输入输出教师、实验人员、行政人员信息和计算教师、实验人员、行政人员工资的方法。

c++ 继承的面试概念以及基础知识题

c++三种继承以及虚基类相关知识点

fuyuyf的博客 1089

继承多态定义一个类Employee(雇员)

3.定义一个类Employee(雇员) 三个属性,雇员姓名(name,String),薪水(salary,double),开始雇佣时间(hireDay,Date) 一个构造方法,带参数,初始化各个属性,特别要求带有年月日的参数,并利用GregorianCalendar日历类生成日期并转化成对应的Date类的日期 对于每个属性添加一个set和get方法 一个实现增长薪水的的方法raiseSalary,传递一个double类型的薪水增长率 一个Employee类的数组,生成三个雇员类的对象填充到数组中

智慧工地、智慧建筑、项目GIS、工程信息化协同、BIM一体化项目管理平台、工程进度管理、施工模拟、BIM视图、

智慧工地、智慧建筑、项目GIS、工程信息化协同管理平台、BIM一体化项目管理平台、工程进度管理、计划进度、施工模拟、BIM视图、模型管理、质量管理、安全管理、施工管理、文档管理、建筑施工、工程展板

C++ 数据结构与算法图解----数据结构

数据结构是计算机科学中用于组织和存储数据的一种方式,它定义了数据元素之间的关系、操作和访问方式。选择适当的数据结构可以提高算法的效率,并使得对数据的处理更加方便和灵活。

tianmeg1204的博客 2076

解锁医疗AI密码:医疗人工智能专业大学四年学习路径

医疗AI人才培养路径解析 本文系统梳理了医疗人工智能专业四年培养方案,分为基础、进阶、应用和拓展四个阶段: 大一聚焦基础学科,涵盖高等数学、医学概论、Python编程等核心课程,辅以医学数据认知实习。大二深入机器学习和医学数据处理领域,学习监督/无监督学习算法及医学影像分析技术。大三进入深度学习阶段,掌握CNN/RNN等神经网络模型,并实践医疗AI应用开发。大四关注前沿技术如大模型在医疗中的应用,完成毕业设计与企业实习。 课程体系强调医工交叉,每学期均配置实践环节,从基础编程到参与真实医疗AI项目,逐步培养

AllenLV的博客 2497

java教学楼的属性_java设计一个父类建筑物building,由它派生出教学楼类classroom,然后采用一些数据进行测试....

publicclassBuilding{publicStringbname;//建筑物名称publicintfloors;//代表总层数publicdoublearea;//代表总面积publicBuilding(){}publicBuilding(Stringbname,intfloors,doublearea){this.bname=bname;this....

weixin_33334142的博客 1481

C#实战:5分钟搞定Modbus RTU通讯(基于NModbus4库)

本文详细介绍了如何使用C#和NModbus4库快速实现Modbus RTU通讯,包括环境配置、核心功能实现、性能优化及常见问题排查。通过代码示例和实用技巧,帮助开发者高效完成工业自动化设备的数据采集与控制任务。

weixin_30689307的博客 467

MTK Android 12 Clone Project 克隆项目

本文介绍了如何使用MTK Android 12 Clone Project 克隆一个新的项目。通过使用绝对路径执行Perl脚本,并根据需要选择升级或降级位数,可以成功地生成一个新的项目并进行编译。希望本文对xdm有所帮助。

我其实什么都不会 942

C++笔记-类层次结构

多重继承   一个类采用多个直接基类的情况称为多重继承,采用一个基类就是单继承。   两个基类中可能会出现名字一样的成员函数   在派生类中就必须消解这两个基类的成员函数带来的歧义性,最好的方法:在派生类中重新定义这个同名的函数。这样,派生类就把这个函数局部化了,从而覆盖了两个基类中的那个函数。   我们还可以通过作用域限定词去寻找一些真正自己需要的函数。:: ...

weixin_30750335的博客 145

甲基化生物信息学分析及批次效应校正全流程

本文系统阐述了DNA甲基化数据分析中的批次效应问题及解决方案。甲基化数据(β值和M值)对实验批次差异高度敏感,可能导致假阳性结果。文章详细介绍了批次效应检测方法(PCA可视化、BEclear定量评分)和校正流程,包括数据预处理、参数化(ComBat-met)与非参数化(BEclear)校正方法,并提供了完整的R代码实现。重点解决了β值有界分布与统计模型假设冲突的问题,为甲基化研究的可靠性提供技术保障。

huanghm88的专栏 105

Bullet Physics终极指南:如何用C++打造逼真的物理模拟

Bullet Physics是一个功能强大的开源物理引擎,专为游戏开发、虚拟现实、机器人仿真和机器学习应用设计。它提供实时碰撞检测和多物理场模拟能力,让开发者能够创建出令人惊叹的物理效果。无论你是刚入门的游戏开发者,还是需要复杂物理仿真的科研人员,Bullet Physics都能为你提供专业级的解决方案。 ## Bullet Physics的核心优势 Bullet Physics之所以成为业界

gitblog_01168的博客 363

uniapp - H5人脸识别认证与活体检测功能(纯前端免费方案+微信sdk人脸识别)完整源码,微信公众号网页/h5端人脸识别功能人脸核身(微信方案提供后端spring boot+thinkphp源码

uniapp实现人脸认证,uniAPP h5手机拍照+人脸识别,免费人脸识别插件,前端人脸识别解决方案,uniapp H5人脸识别带前后摄像头,人脸识别在H5页面进行采集,微信公众号H5人脸核身,H5端人脸识别功能实现,免费h5人脸识别插件方案,微信公众号H5网页实现人脸识别,uniapp人脸监测,uniapp人脸生物监测,使用uniapp开发H5人脸采集功能/人脸识别功能,uniapp项目—h5端人脸采集功能实现,uniapp vue3人脸核身,H5活体检测认证,人脸认证张嘴摇摇头指引动作,人脸核身 微信

🏆 前端领域优质创作者 3808

把 SAP BTP Destination 写进 MTA:一段 com.sap.application.content 配置背后的部署编排学

MTA内容模块解析:SAP BTP中的声明式部署机制 本文详细解析了mta.yaml中com.sap.application.content模块在SAP BTP云环境中的作用。该模块通过声明式配置实现内容投递,无需编译或部署代码。核心功能包括: Destination创建:通过content-target:true标识将配置投递到Destination服务 HTML5应用部署:将静态资源投递到HTML5 Application Repository 安全集成:配置XSUAA服务实现OAuth2用户令牌交换

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 160

设计模式概述

Christopher Alexander在建筑物的体系结构中首次提出了模式的概念,并且他的书«TheTimeless Way of Building》(Alexander 1970)对这个概念进行了描述。由于涉及多个类并且涉及不同的类对象之间的交互,因此设计模式是一个比类的粒度更大的复用方式。问题的上下文经常是不同的,它可能是不同的应用、不同的平台或者不同的编程语言。习惯用法是低层的特定于给定的编程语言的设计模式,它们描述了使用语言特性(例如Java或C++的特性)而对一个问题产生的实现方案。

技术日常 396

OpenOCD入门到精通:第28章 综合实战:RISC-V 调试

RISC-V调试实战摘要 本文介绍了RISC-V调试规范及其在OpenOCD中的实现。主要内容包括: RISC-V Debug规范的两个版本(0.11和0.13)及其差异,OpenOCD通过自动检测DTMCS寄存器版本号选择对应驱动实现。 RISC-V调试架构的分层设计,包含DTM、Debug Module、Program Buffer等核心组件,以及三种内存访问方式(progbuf、sysbus、abstract)。 以GD32VF103为例的实战调试配置,包括硬件连接、OpenOCD配置文件编写和GDB

从事嵌入式linux android驱动开发,拥有全栈能力 282

YimMenu:终极GTA5游戏增强菜单与安全防护完整指南

YimMenu是一款专注于GTA5游戏体验增强和安全防护的开源菜单工具。作为一款强大的游戏增强菜单,它不仅提供了丰富的游戏功能,更重要的是内置了多层安全防护机制,保护玩家免受公开崩溃攻击和恶意玩家干扰。这个免费的游戏辅助工具将安全防护与游戏体验完美结合,让你在洛圣都的冒险中既有趣又安全。 ## 项目定位:不只是游戏辅助,更是安全卫士 YimMenu的独特价值在于它超越了传统游戏修改工具的范畴,

gitblog_00166的博客 502

手把手教你学 GPU KMD--1.2:UMD、KMD 与 DDK 的协作关系(下)——权限提升与安全边界

本文探讨了UMD、KMD与DDK协作中的权限提升与安全边界问题。GPU作为强大DMA引擎,必须通过分层权限模型(用户态/内核态)隔离风险,KMD作为守门人对UMD请求进行严格校验。文章详细分析了权限提升路径、安全边界设计(GPU虚拟内存隔离、命令白名单、IOMMU强制隔离等),并列举历史漏洞案例说明安全边界的重要性。现代增强方案包括虚拟化与可信执行环境。核心安全原则是"永远不信任用户态数据",需对所有地址、命令、资源和DMA进行严格管控。

amy_mhd的博客 323

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

终极免费GTA5辅助工具:YimMenu完整使用教程与安全防护指南

YimMenu是一款专为GTA5设计的强大开源辅助工具,不仅能防御各种公开崩溃攻击,还能显著提升游戏体验。这款免费的游戏增强菜单提供了全方位的保护机制和丰富的功能模块,让玩家在洛圣都的冒险更加安全顺畅。无论你是新手还是资深玩家,YimMenu都能为你带来全新的游戏体验。 ## 🎯 为什么你需要GTA5安全辅助工具? 在GTA5在线模式中,你是否经常遇到这些问题?恶意玩家的崩溃攻击让你游戏突然

gitblog_00418的博客 541

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Infer 的 Tree-sitter 前端:零依赖 C 源码捕获与静态分析实战指南

本篇技术指南以 [TREE-SITTER.md](https://link.gitcode.com/i/0a438be59cf5e36c5c43559bbc007953) 为核心,讲解 Infer 内置的 Tree-sitter 前端(`--capture-tree-sitter`):它如何在没有 clang 工具链、编译数据库与构建系统的前提下,直接从 C 源码文本解析并生成 SIL,进而接入

gitblog_00222的博客 412

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

终极GTA5安全增强方案:YimMenu防护系统深度解析

你是否曾在GTA5在线模式中遭遇恶意玩家的崩溃攻击?是否厌倦了那些突如其来的游戏中断和无法防御的骚扰?今天,我们将深入探讨YimMenu——一个专为GTA5设计的开源增强菜单,它不仅提供了丰富的游戏功能,更重要的是构建了全方位的安全防护体系,让你在洛圣都的冒险中拥有真正的主动权。 ## 🛡️ 安全防护:你的游戏保护伞 在GTA5的在线世界中,恶意攻击层出不穷。YimMenu的核心使命就是为你

gitblog_00583的博客 454

YimMenu完整指南:如何用免费开源工具提升GTA5游戏体验与安全防护

YimMenu是一款专为《侠盗猎车手5》(GTA5)设计的强大开源游戏增强工具,不仅能有效防御各种公开崩溃攻击,还能显著提升玩家的整体游戏体验。这款免费的GTA5辅助菜单提供了全方位的保护机制和丰富的功能模块,让玩家在洛圣都的冒险更加安全顺畅。无论你是刚接触游戏的新手还是资深玩家,YimMenu都能为你带来全新的游戏体验。 ## 🎯 YimMenu的核心价值:为什么选择这款GTA5辅助工具?

gitblog_01056的博客 837

YimMenu:GTA5终极安全增强菜单完全指南

YimMenu是一款专为GTA5设计的开源游戏增强工具,它不仅提供了丰富的游戏功能扩展,更重要的是内置了强大的安全防护系统,能够有效防御各种公开崩溃攻击,显著提升玩家的游戏体验。这款免费的GTA5增强菜单让玩家在洛圣都的冒险更加安全顺畅,无论是单人模式探索还是在线模式游玩,YimMenu都能为你带来全新的游戏体验。 ## 项目概览与核心价值 YimMenu最初基于BigBaseV2开发,经过持

gitblog_00346的博客 366

YimMenu:GTA5开源增强工具完全指南 - 安全防护与游戏体验双重提升

YimMenu是一款专为《侠盗猎车手5》(GTA5)设计的开源增强工具,它不仅提供了丰富的游戏功能扩展,更重要的是内置了强大的安全防护系统,能够有效防御公开崩溃攻击,显著提升玩家的游戏体验。这款免费工具让玩家在洛圣都的冒险更加安全顺畅,无论是单人模式探索还是在线模式游玩,YimMenu都能为你带来全新的游戏体验。 ## 项目特色亮点:安全与功能并重 ### 多层次安全防护体系 YimMenu

gitblog_01196的博客 195
上一篇: C++--找出三条能构成三角形且周长最大的边的一个普通方法
下一篇: C++--创建Point类表示坐标点,点构线线构矩形
~祝今在
博客等级 码龄7年 597粉丝 54原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~祝今在

喝个茶水

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值