2023年12月4日:多继承

代码

#include <iostream>using namespace std;class Sofa
{
private:string sit;int *len;
public:Sofa(){cout << "Sofa::无参构造函数" << endl;}Sofa(string sit,int len):sit(sit),len(new int(len)){cout << "Sofa::有参构造函数" << endl;}~Sofa(){delete len;cout << "Sofa::析构函数" << endl;}Sofa &operator=(const Sofa &other){if(this != &other){sit = other.sit;len = new int(*(len));}cout << "Sofa::拷贝赋值函数" << endl;return *this;}Sofa(const Sofa &other):sit(other.sit),len(new int(*(other.len))){cout << "Sofa::拷贝构造函数" << endl;}void show(){cout << sit << '\t' << "沙发的长度为:" << *len;}
};
class Bed
{
private:string sleep;
public:Bed(){cout << "Bed::无参构造函数" << endl;}Bed(string sleep):sleep(sleep){cout << "Bed::有参构造函数" << endl;}~Bed(){cout << "Bed::析构函数" << endl;}Bed &operator=(const Bed &other){if(this != &other){sleep = other.sleep;}cout << "Bed::拷贝赋值函数" << endl;return *this;}Bed(const Bed &other):sleep(other.sleep){cout << "Bed::拷贝构造函数" << endl;}void show(){cout << '\t' << sleep << '\t';}
};
class Sofa_Bed:public Sofa,public Bed
{
private:string color;
public:Sofa_Bed(){cout << "Sofa_Bed::无参构造函数" << endl;}Sofa_Bed(string sit,int len,string sleep,string color):Sofa(sit,len),Bed(sleep),color(color){cout << "Sofa_Bed::有参构造函数" << endl;}~Sofa_Bed(){cout << "Sofa_Bed::析构函数" << endl;}Sofa_Bed &operator=(const Sofa_Bed &other){if(this != &other){Sofa::operator=(other);Bed::operator=(other);color = other.color;}cout << "Sofa_Bed::拷贝赋值函数" << endl;return *this;}Sofa_Bed(const Sofa_Bed &other):Sofa(other),Bed(other),color(other.color){cout << "Sofa_Bed::拷贝构造函数" << endl;}void show(){cout << "沙发的颜色为:" << color << endl;}};
int main()
{Sofa_Bed SB1("坐",185,"睡","pink");SB1.Sofa::show();SB1.Bed::show();SB1.show();return 0;
}

效果图:

思维导图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/196424.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【uni-app】赋予你的APP(Android原生)小程序开发能力

采用DCloud(数字天堂&#xff08;北京&#xff09;网络技术有限公司)的uniMPsdk(uni小程序SDK)&#xff0c;是为原生App打造的可运行基于 uni-app 开发的小程序前端项目的框架&#xff0c;从而帮助原生App快速获取小程序的能力。 uni-app文档地址(小程序开发人员开发用) uniMP…

全网最新最全的自动化测试教程:python+pytest接口自动化(9)-cookie绕过登录(保持登录状态

在编写接口自动化测试用例或其他脚本的过程中&#xff0c;经常会遇到需要绕过用户名/密码或验证码登录&#xff0c;去请求接口的情况&#xff0c;一是因为有时验证码会比较复杂&#xff0c;比如有些图形验证码&#xff0c;难以通过接口的方式去处理&#xff1b;再者&#xff0c…

java连接池 理解及解释(DBCP、druid、c3p0、HikariCP)

一、在Java开发中&#xff0c;有许多常见的数据库连接池可供选择。以下是一些常见的Java数据库连接池&#xff1a;不使用数据库连接池的特性&#xff1a; 优点&#xff1a;实现简单 缺点&#xff1a;网络 IO 较多数据库的负载较高响应时间较长及 QPS 较低应用频繁的创建连接和关…

学习pytorch17 pytorch模型保存及加载

pytorch模型保存及加载 代码 import torch import torchvisionvgg16 torchvision.models.vgg16(pretrainedFalse)# 1. save model 1 保存模型结构及模型参数 torch.save(vgg16, ./vgg16_save1.model)# 2. save model 2 只保存模型参数 比第一种保存方法保存的文件要小 t…

企业架构LB-服务器的负载均衡之LVS实现

企业架构LB-服务器的负载均衡之LVS实现 学习目标和内容 1、能够了解LVS的基本工作方式 2、能够安装配置LVS实现负载均衡 3、能够了解LVS-NAT的配置方式 4、能够了解LVS-DR的配置方式 #一、LVS介绍和安装 LVS&#xff08;Linux Virtual Server&#xff09;即Linux虚拟服务器&…

Vue项目目录结构

项目结构 目录说明.vscodeVSCode工具的配置文件node_modulesVue项目的运行依赖文件public资源文件夹&#xff08;浏览器图标&#xff09;src源码文件夹.gitignore配置git忽略文件index.html入口HTML文件package-lock.json信息描述文件&#xff08;所有模块&#xff09;package…

分布式追踪

目录 文章目录 目录自定义指标1.删除标签2.添加指标3.禁用指标 分布式追踪上下文传递Jaeger 关于我最后最后 自定义指标 除了 Istio 自带的指标外&#xff0c;我们还可以自定义指标&#xff0c;要自定指标需要用到 Istio 提供的 Telemetry API&#xff0c;该 API 能够灵活地配…

飞致云1panel + 雷池WAF

可能有许多人都有这个需求&#xff1a;为自己的个人站点套上WAF&#xff0c;增加安全性&#xff0c;本文将介绍如何将1panel面板深度结合长亭雷池防火墙&#xff0c;实现为个人站点套上WAF并且自动续签ssl证书。 前提条件&#xff1a; 服务器IP已绑定域名 完整的1panel环境 …

软考初级、中级、高级怎么选?

本年度的PMP考试已经结束啦&#xff0c;对于刚考完的威宝和已经通过考试的威班们来说&#xff0c;刚开始接触PMP认证的时候在科普阶段有看到过“软考”的字眼。什么是软考&#xff0c;它主要考什么&#xff1f;通常用于哪些方面&#xff1f;软考又和PMP有什么关系&#xff1f;如…

Shutdown Signal: channel error; protocol method: #method<channel.close>

完整异常信息&#xff1a; Shutdown Signal: channel error; protocol method: #method<channel.close>(reply-code404, reply-textNOT_FOUND - no exchange fanoutExchange in vhost /, class-id60, method-id40) 意思是找不到名字是 fanoutExchange 的虚拟机 就是虚拟机…

SQL Sever 基础知识 - 数据筛选(3)

SQL Sever 基础知识 - 四、数据筛选 第7节 BETWEEN7.1 BETWEEN 运算符概述7.2 BETWEEN 示例7.2.1 BETWEEN 与数字示例7.2.2 BETWEEN 和日期示例 第8节 LIKE8.1 LIKE运算符概述8.2 转义字符8.3 LIKE 示例8.3.1 % (百分号) 通配符示例8.3.2 _(下划线)通配符示例8.3.3 [字符列表] …

vivado实现分析与收敛技巧9-分析使用率统计数据

实现问题的常见原因之一是未考量显式和隐式物理约束。例如 &#xff0c; 管脚分配 (pinout) 在逻辑布局上变为显式物理约束。 slice&#xff08; 分片 &#xff09; 逻辑在大部分器件中都是一致的。但如下专用资源表示的是隐式物理约束 &#xff0c; 因为这些资源仅在某些位置…

React创建项目

React创建项目 提前安装好nodejs再进行下面的操作&#xff0c;通过node -v验证是否安装 1.设置源地址 npm config set registry https://registry.npmmirror.com/2.确认源地址 npm config get registry返回如下 https://registry.npmmirror.com/3.输入命令 npx create-re…

SQL手工注入漏洞测试(PostgreSQL数据库)-墨者

———靶场专栏——— 声明&#xff1a;文章由作者weoptions学习或练习过程中的步骤及思路&#xff0c;非正式答案&#xff0c;仅供学习和参考。 靶场背景&#xff1a; 来源&#xff1a; 墨者学院 简介&#xff1a; 安全工程师"墨者"最近在练习SQL手工注入漏洞&#…

如何使用gdb调试fork程序

代码示例 #include<stdio.h> #include<unistd.h> #include<sys/types.h> #include<stdlib.h> #include<sys/wait.h>int main(int argc, const char* argv[]) {pid_t pid -1;int status 0;int ret -1; // 创建子进程。若创建成功&#xff0c;…

使用ES6 async awai t进行异步处理

我们往往在项目中会遇到这样的业务需求&#xff0c;就是首先先进行一个ajax请求&#xff0c;然后再进行下一个ajax请求&#xff0c;而下一个请求需要使用上一个请求得到的数据&#xff0c;请求少了还好说&#xff0c;如果多了&#xff0c;就要一层一层的嵌套&#xff0c;就好像…

Typora免费版安装教程(仅供学习)

目录 一、Typora简介二、Typora安装三、Typora补丁四、Typora使用体验五、总结 一、Typora简介 Typora是一款非常流行的Markdown编辑器&#xff0c;它能够将Markdown文本转化为漂亮的排版&#xff0c;并且支持实时预览。Typora具有简单易用的界面&#xff0c;使得用户可以轻松地…

12.04

#include <iostream>using namespace std;class Sofa { private:string sitting;double *weight; public:Sofa(){cout << "Sofa::无参构造函数" << endl;}Sofa(string s,double w):sitting(s),weight(new double(w)){cout << "Sofa::有…

docker搭建xxl-job

使用docker-compose创建并运行xxl-job 查看、下载镜像 docker search xxl-job # 结果&#xff0c;自己指定版本 xuxueli/xxl-job-admin:2.3.1创建文件夹 /usr/local/software/xxl-job/logs编排docker-compose文件 version: 2 networks:wn_docker_net:external: true servic…

Harmony Ble蓝牙App(三)特性和属性

Ble蓝牙App&#xff08;三&#xff09;特性使用 前言正文一、获取属性列表二、属性提供者三、获取特性名称四、特性提供者五、加载特性六、源码 前言 在上一篇中我们完成了连接和发现服务两个动作&#xff0c;那么再发现服务之后要做什么呢&#xff1f;发现服务只是让你知道设备…