当前位置: 首页 > news >正文

C++学习day5

目录

作业:

1> 思维导图

2> 多继承代码实现沙发床


1>思维导图

2> 多继承代码实现沙发床

#include <iostream>using namespace std;
//创建沙发类
class sofa
{
private:string sitting;
public:sofa(){cout << "sofa的无参构造函数" << endl;}sofa(string s):sitting(s){cout << "sofa的有参构造函数" << endl;}//拷贝构造函数sofa(const sofa &other):sitting(other.sitting){cout << "sofa的拷贝构造函数" << endl;}//拷贝赋值函数sofa &operator=(const sofa &other){cout << "sofa的拷贝赋值函数" << endl;sitting=other.sitting;return *this;}//析构函数~sofa(){cout << "sofa的析构函数" << endl;}void show(){cout << "sofa" << endl;}};
//创建床类
class bed
{
protected:string sleeping;
public:bed(){cout << "bed的无参构造函数" << endl;}bed(string b):sleeping(b){cout << "bed的有参构造函数" << endl;}//拷贝构造函数bed(const bed &other):sleeping(other.sleeping){cout << "bed的拷贝构造函数" << endl;}//拷贝赋值函数bed &operator=(const bed &other){cout << "bed的拷贝赋值函数" << endl;sleeping=other.sleeping;return *this;}//析构函数~bed(){cout << "bed的析构函数" << endl;}void show(){cout << "bed" << endl;}};
//构造沙发床类
class sofa_bed: public bed,public sofa
{
private:string color;
public:sofa_bed(){cout << "sofa_bed的无参构造函数" << endl;}sofa_bed(string s,string b,string c):bed(b),sofa(s),color(c){cout << "sofa_bed的有参构造函数" << endl;}//拷贝构造函数sofa_bed(const sofa_bed &other):bed(other.sleeping),sofa(other),color(other.color){cout << "sofa_bed的拷贝构造函数" << endl;}//拷贝赋值函数sofa_bed &operator=(const sofa_bed &other){cout << "sofa_bed的拷贝赋值函数" << endl;color=other.color;sofa::operator=(other);sleeping=other.sleeping;return *this;}//析构函数~sofa_bed(){cout << "sofa_bed的析构函数" << endl;}void show(){cout << "sofa_bed的show" << endl;}};int main()
{cout << "Hello World!" << endl;sofa_bed s1;sofa_bed s2("坐着","睡觉","yellow");s2.show();sofa_bed s3(s2);s1=s2;return 0;
}

效果图 :

 

 

相关文章:

C++学习day5

目录 作业&#xff1a; 1> 思维导图 2> 多继承代码实现沙发床 1>思维导图 2> 多继承代码实现沙发床 #include <iostream>using namespace std; //创建沙发类 class sofa { private:string sitting; public:sofa(){cout << "sofa的无参构造函数…...

1.软件开发-HTML结构-元素剖析

元素的嵌套 代码注释 ctrl/ URL url 统一资源定位符 一个给定的独特资源在web上的地址 URI...

QTableWidget 表格增删数据

QTableWidgetQTableWidgetQTableWidget部分使用方法&#xff0c;如在表格中插入或删除一行数据以及清空表格数据等。在添加数据时&#xff0c;设置了条件判断如正则表达式&#xff0c;若用户输入的数据不合法&#xff0c;则添加失败并提示用户错误的地方&#xff0c;便于用户修…...

Tableau:商业智能(BI)工具

Tableau入门 1、Tableau概述2、Tableau Desktop2.1、初识Tableau Desktop2.2、Tableau工作区2.3、数据窗格与分析窗格2.4、功能区和标记卡2.4.1、列和行功能区2.4.2、标记卡2.4.3、筛选器功能区2.4.4、页面功能区2.4.5、附加功能区、图例、控件 3、Tableau视图4、Tableau工作簿…...

【gmail注册教程】手把手教你注册Google邮箱账号

手把手教你注册Google邮箱账号 写在前面&#xff1a; 要注意&#xff0c;注册Google邮箱必须要确保自己能够 科学上网&#xff0c;如果暂时做不到&#xff0c;请先进行相关学习。使用的手机号是大陆&#xff08;86&#xff09;的。 在保证自己能够科学上网后&#xff0c;在浏…...

docker版jxTMS使用指南:数据采集系统的高可用性

本文讲解4.6版jxTMS中数据采集系统的高可用性&#xff0c;整个系列的文章请查看&#xff1a;4.6版升级内容 docker版本的使用&#xff0c;请查看&#xff1a;docker版jxTMS使用指南 4.0版jxTMS的说明&#xff0c;请查看&#xff1a;4.0版升级内容 4.2版jxTMS的说明&#xff…...

vue如何禁止通过页面输入路径跳转页面

要禁止通过页面输入路径跳转页面&#xff0c;你可以使用Vue Router的导航守卫&#xff08;navigation guards&#xff09;来拦截导航并阻止不希望的跳转。 下面是一种常见的方法&#xff0c;你可以在全局导航守卫&#xff08;global navigation guards&#xff09;中实现这个功…...

mac,linux环境的基础工具安装【jdk,tomcat】

安装 一 linux环境一&#xff09;、JDK安装卸载&#xff1a; 二&#xff09;、 tomcat 安装1、[下载](https://mirrors.bfsu.edu.cn/apache/tomcat/tomcat-8/v8.5.63/bin/apache-tomcat-8.5.63.tar.gz)后&#xff0c;在目录 /usr/local/tomcat下&#xff0c;解压缩2、配置tomca…...

chrome窗口

chrome 窗口的层次&#xff1a; 父窗口类名&#xff1a;Chrome_WidgetWin_1 有两个子窗口&#xff1a; Chrome_RenderWidgetHostHWNDIntermediate D3D Window // 用于匹配 Chrome 窗口的窗口类的前缀。 onst wchar_t kChromeWindowClassPrefix[] L"Chrome_WidgetWin_…...

某快递公司Java一面

1.平衡二叉树和红黑树的区别&#xff1f; 平衡二叉树是一种二叉搜索树&#xff0c;其左子树和右子树的高度差不超过1&#xff0c;以确保在最坏情况下的查找效率是O(log n)。而红黑树是一种自平衡二叉搜索树&#xff0c;通过引入颜色标记&#xff08;红色和黑色&#xff09;来维…...

【C++ Primer Plus学习记录】指针——声明和初始化指针

指针用于存储值的地址&#xff0c;因此&#xff0c;指针名表示的地址。*运算符被称为间接值或解除引用运算符&#xff0c;将其应用于指针&#xff0c;可以得到该地址处存储的值。 例如&#xff0c;假设manly是一个指针&#xff0c;则manly表示的是一个地址&#xff0c;而*manl…...

切换至root用户时,命令提示符颜色为白色,如何修改?

当我切换至root用户时&#xff0c;发现命令提示符里的内容全部为白色&#xff0c;如图所示&#xff1a; 这让人看着不愉快&#xff0c;上网先搜索下解决方案&#xff1a;【切换到 root 账户字体全是白的&#xff0c;怎么改颜色啊】- 百度贴吧&#xff0c;但是这个解决方案只是…...

设计模式——17. 状态模式

1. 说明 状态模式(State Pattern)是一种行为设计模式,它允许一个对象在其内部状态发生改变时改变其行为。状态模式将对象的状态封装成不同的状态对象,并将状态切换时的行为委托给当前状态对象。这样,对象在不同状态下具有不同的行为,而无需在对象本身中使用大量的条件语…...

系统架构设计:14 论软基于架构的软件设计方法(ABSD)的软件开发

目录 1 基于架构的软件设计(ABSD) 2 基于架构的软件开发过程 2.1 架构需求过程 2.2 架构设计过程</...

如何在 Spring Boot 中进行文件上传

在 Spring Boot 中进行文件上传 文件上传是Web应用程序中常见的功能之一&#xff0c;它允许用户将文件从客户端上传到服务器。Spring Boot提供了便捷的方式来处理文件上传&#xff0c;并且整合了Spring框架的强大功能&#xff0c;使文件上传变得相对简单。本文将介绍如何在Spr…...

Python 图形化界面基础篇:将应用程序打包为可执行文件

Python 图形化界面基础篇&#xff1a;将应用程序打包为可执行文件 引言 PyInstaller 简介步骤1&#xff1a;安装 PyInstaller 步骤2&#xff1a;创建 Python GUI 应用程序步骤3&#xff1a;使用 PyInstaller 打包应用程序 完整示例代码解释结论 引言 在开发完一个图形用户界面…...

Android 13.0 蓝牙遥控器确认键弹不出输入法的解决方法

1.概述 在android13.0设备定制化开发时,遥控器是使用红外遥控器,也有使用蓝牙遥控器的,所以出现的问题不一定相同,今天遇到个问题就是蓝牙遥控器在输入数据时弹不出输入法的问题 首选排除输入法的问题,安装其他的输入法,也是同样的问题,这样就确定是系统EditText控件相关…...

spring boot面试50问

目录 前言&#xff1a; 1. 什么是 Spring Boot&#xff1f; 2. 为什么要用SpringBoot&#xff1f; 3. SpringBoot与SpringCloud 区别&#xff1f; 4. Spring Boot 有哪些优点&#xff1f; 5. Spring Boot 的核心注解是哪个&#xff1f;它主要由哪几个注解组成的&#xff1…...

条例24~25(设计与声明)

条例24 若所有参数皆需要类型转换&#xff0c;请为此采用非成员函数 有时候让类型内成员函数支持隐式类型转换是不妥善的。比如当我们想在类内实现operator *&#xff08;&#xff09; 模拟乘法的时候。通常情况下表现良好&#xff0c;但若你想额外实现混合式运算。例如 int…...

Spring5应用之事务处理

作者简介&#xff1a;☕️大家好&#xff0c;我是Aomsir&#xff0c;一个爱折腾的开发者&#xff01; 个人主页&#xff1a;Aomsir_Spring5应用专栏,Netty应用专栏,RPC应用专栏-CSDN博客 当前专栏&#xff1a;Spring5应用专栏_Aomsir的博客-CSDN博客 文章目录 参考文献前言事务…...

2026届毕业生推荐的五大降AI率网站解析与推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 从以下方面着手&#xff0c;能够降低AIGC&#xff08;人工智能生成内容&#xff09;的检测特…...

别只盯着表达量!单基因功能挖掘:LinkedOmics相关性分析与STRING互作网络实战指南

单基因功能深度挖掘&#xff1a;从相关性分析到互作网络的系统研究策略 在生物医学研究中&#xff0c;单基因分析往往被简化为差异表达检验&#xff0c;这种局限视角可能掩盖了基因在复杂生物网络中的多维作用。当我们在TCGA数据中发现某个基因在特定癌症中表达异常时&#xff…...

OpenClaw人人养虾:macOS 开发环境设置

本指南介绍从源代码构建和运行 OpenClaw macOS 应用所需的步骤。 前置条件 在构建应用之前&#xff0c;请确保已安装以下工具&#xff1a; Xcode 26.2&#xff1a;Swift 开发所需。Node.js 22 和 pnpm&#xff1a;gateway、CLI 和打包脚本所需。 1. 安装依赖 安装项目级依…...

JavaScript中全局执行上下文与函数上下文的生成过程

全局执行上下文在JS引擎启动时创建&#xff0c;函数执行上下文在每次调用时创建&#xff1b;前者作用域链仅含全局环境&#xff0c;后者在创建阶段就基于定义位置固定作用域链&#xff1b;var和function声明被提升并初始化&#xff0c;let/const仅注册于词法环境而处于暂时性死…...

告别PWM!用STM32串口轻松驱动幻尔16路舵机控制板(附完整代码)

STM32串口驱动幻尔16路舵机控制板的实战指南 从PWM到串口&#xff1a;舵机控制的技术演进 记得我第一次尝试用STM32控制机械臂时&#xff0c;光是配置PWM定时器就花了两天时间。每个舵机需要独立的PWM通道&#xff0c;复杂的定时器分频计算&#xff0c;还有那令人头疼的占空比换…...

提升游戏资源管理效率:Steam清单获取的自动化解决方案

提升游戏资源管理效率&#xff1a;Steam清单获取的自动化解决方案 【免费下载链接】Onekey Onekey Steam Depot Manifest Downloader 项目地址: https://gitcode.com/gh_mirrors/one/Onekey 你是否曾遇到想要备份Steam游戏却不知从何下手&#xff1f;或者尝试解析游戏文…...

AI建站工具分人群解决方案:中小企业主、运营、外贸人分别怎么选

同样是想要一个网站&#xff0c;中小企业主、市场运营、外贸负责人、个人创作者的内心诉求&#xff0c;其实天差地别。老板看重的是成本和品牌形象&#xff1b;运营人员关心的是好不好改、能不能帮我获取线索&#xff1b;外贸人则把多语言和海外访问速度放在第一位。今天这篇文…...

Swagger Client 性能优化:10个技巧让你的 API 调用快如闪电

Swagger Client 性能优化&#xff1a;10个技巧让你的 API 调用快如闪电 【免费下载链接】swagger-js Javascript library to connect to swagger-enabled APIs via browser or nodejs 项目地址: https://gitcode.com/gh_mirrors/sw/swagger-js Swagger Client 是一款强大…...

5分钟掌握:终极地图填充插件的完整指南

5分钟掌握&#xff1a;终极地图填充插件的完整指南 【免费下载链接】sketch-map-generator Sketch plugin to fill a shape with a map generated from a given location using Google Maps and Mapbox 项目地址: https://gitcode.com/gh_mirrors/sk/sketch-map-generator …...

自动化规划工具提升工单分配效率

自动化规划工具使工单分配更高效 “分支定界”方法可排除混合整数非线性规划问题中的非最优解。 作者&#xff1a;Anupam Purwar 2023年3月28日 阅读时长&#xff1a;4分钟自动化规划工具是结合人工智能与设计算法的程序&#xff0c;用于规划与调度任务、资源和活动。它们广泛应…...