Cpp/Qtday050912cpp基础
目录
实现一个图形类(Shape),包含受保护成员属性:周长、面积,
公共成员函数:特殊成员函数书写
定义一个圆形类(Circle),继承自图形类,包含私有属性:半径
公共成员函数:特殊成员函数、以及获取周长、获取面积函数
定义一个矩形类(Rect),继承自图形类,包含私有属性:长度、宽度
公共成员函数:特殊成员函数、以及获取周长、获取面积函数
在主函数中,分别实例化圆形类对象以及矩形类对象,并测试相关的成员函数。
代码
运行结果
思维导图
实现一个图形类(Shape),包含受保护成员属性:周长、面积,
公共成员函数:特殊成员函数书写
定义一个圆形类(Circle),继承自图形类,包含私有属性:半径
公共成员函数:特殊成员函数、以及获取周长、获取面积函数
定义一个矩形类(Rect),继承自图形类,包含私有属性:长度、宽度
公共成员函数:特殊成员函数、以及获取周长、获取面积函数
在主函数中,分别实例化圆形类对象以及矩形类对象,并测试相关的成员函数。
代码
#include <iostream>using namespace std;#define PI 3.14class Shape
{
protected:double circumference;double area;
public://无参构造Shape(){}//有参构造Shape(double c,double a):circumference(c),area(a){}//拷贝构造Shape(const Shape &s):circumference(s.circumference),area(s.area){}//移动构造Shape(Shape &&s):circumference(s.circumference),area(s.area){}//拷贝赋值Shape &operator=(const Shape &s){circumference = s.circumference;area = s.area;return *this;}//移动赋值Shape &operator=(Shape &&s){circumference = s.circumference;area = s.area;return *this;}//析构函数~Shape(){}
};class Circle:public Shape
{
private:int radius;
public://无参构造Circle ():Shape(2*PI,PI),radius(1){}//有参构造Circle (int r):Shape(2*PI*r,PI*r*r),radius(r){}//拷贝构造Circle(const Circle &c):Shape(c.circumference,c.area),radius(c.radius){}//移动构造Circle(Circle &&c):Shape(c.circumference,c.area),radius(c.radius){}//拷贝赋值Circle &operator=(const Circle &c){circumference = c.circumference;area = c.area;radius = c.radius;return *this;}//移动赋值Circle &operator=(Circle &&c){circumference = c.circumference;area = c.area;radius = c.radius;return *this;}//析构函数~Circle(){}//外部获取改变参数Circle &argch(int r){circumference = 2*PI*r;area = PI*r*r;radius = r;return *this;}//获取周长函数double circumference_get(){//cout<<"周长为:";return circumference;}//获取面积函数double area_get(){//cout<<"面积为:";return area;}
};class Rect:public Shape
{
private:int length;int width;
public://无参构造Rect ():Shape(2*(1+1),1*1),length(1),width(1){}//有参构造Rect (int l,int w):Shape(2*(l+w),l*w),length(l),width(w){}//拷贝构造Rect(const Rect &r):Shape(r.circumference,r.area),length(r.length),width(r.width){}//移动构造Rect(Rect &&r):Shape(r.circumference,r.area),length(r.length),width(r.width){}//拷贝赋值Rect &operator=(const Rect &r){circumference = r.circumference;area = r.area;length = r.length;width = r.width;return *this;}//移动赋值Rect &operator=(Rect &&r){circumference = r.circumference;area = r.area;length = r.length;width = r.width;return *this;}//析构函数~Rect(){}//外部获取改变参数Rect &argch(int l,int w){circumference = 2*(l+w);area = l*w;length = l;width = w;return *this;}//获取周长函数double circumference_get(){//cout<<"周长为:";return circumference;}//获取面积函数double area_get(){//cout<<"面积为:";return area;}
};int main()
{cout<<"****************以下为Circle测试**************"<<endl;Circle c1(5);cout<<"c1:"<<"面积为:"<<c1.area_get()<<" 周长为:"<<c1.circumference_get()<<endl;Circle c2;cout<<"c2:"<<"面积为:"<<c2.area_get()<<" 周长为:"<<c2.circumference_get()<<endl;c2 = c1;cout<<"c2:"<<"面积为:"<<c2.area_get()<<" 周长为:"<<c2.circumference_get()<<endl;c1.argch(7);cout<<"c1:"<<"面积为:"<<c1.area_get()<<" 周长为:"<<c1.circumference_get()<<endl;Circle c3(c1);cout<<"c3:"<<"面积为:"<<c3.area_get()<<" 周长为:"<<c3.circumference_get()<<endl;cout<<"*****************以下为Rect测试***************"<<endl;Rect r1(3,4);cout<<"r1:"<<"面积为:"<<r1.area_get()<<" 周长为:"<<r1.circumference_get()<<endl;Rect r2;cout<<"r2:"<<"面积为:"<<r2.area_get()<<" 周长为:"<<r2.circumference_get()<<endl;r2 = r1;cout<<"r2:"<<"面积为:"<<r2.area_get()<<" 周长为:"<<r2.circumference_get()<<endl;r1.argch(5,6);cout<<"r1:"<<"面积为:"<<r1.area_get()<<" 周长为:"<<r1.circumference_get()<<endl;Rect r3(r1);cout<<"r3:"<<"面积为:"<<r3.area_get()<<" 周长为:"<<r3.circumference_get()<<endl;return 0;
}
运行结果
思维导图
相关文章:
Cpp/Qtday050912cpp基础
目录 实现一个图形类(Shape),包含受保护成员属性:周长、面积, 公共成员函数:特殊成员函数书写 定义一个圆形类(Circle),继承自图形类,包含私有属性&#x…...
Git diff 使用 vimdiff 对比差异
在Ubuntu中使用Git时,可使用命令行的git diff命令来对比两次提交的差异,但是这种对比查看方式无法直观地查看修改的差异,在对比和查看时不太方便。 可以使用vimdiff作为Git diff的对比工具,这样就方便了许多,Git的配置…...
c小白勇闯结构体!!!!
目录 1.结构体类型的声明 1.结构的基础 2.结构体的声明 3.结构体成员的类型 4结构体变量的定义和初始化 2.结构体成员的访问 3.结构体传参 1.结构体类型的声明 1.结构的基础 结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量 结构体变量的创…...
【DevOps核心理念基础】3. 敏捷开发最佳实践
一、敏捷开发最佳实践 1.1 项目管理 1.2 需求管理 1.3 技术架构 1.4 技术开发 1.5 测试 二、敏捷开发最佳实践 2.1 敏捷开发的执行细节 三、全面的DevOps工具链 四、版本控制和协作开发工具 4.1 集中式版本控制工具 4.2 分布式版本控制工具 一、敏捷开发最佳实践 …...
二进制、数位dp:0912T3
考虑题目转化,二进制下满足 i ⊆ j , ( i x ) ⊆ ( j y ) i\subseteq j,(ix)\subseteq (jy) i⊆j,(ix)⊆(jy) 这显然是个数位dp形式 考虑枚举每一位与进位, d p k , p 1 , p 2 dp_{k,p_1,p_2} dpk,p1,p2 表示第 k − 1 k-1 k−1 位向第 k k…...
Java基于SpringBoot+Vue的 4S店车辆管理系统
博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W,Csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 文章目录 1 简介2 技术栈3 功能总览4 系统设计4.1 系统设计主要功能4.2 数据库设计4.2.1 数据库设计规范4.2…...
助力智能化公路养护,基于YOLOv5s集成SPD-BIFPN-SE开发构建公路开裂检测识别系统
在前文中我们尝试构建了在隧道、涵洞尝尽下的自动智能化养护巡查相关的模型,进行了实地测试评估,感兴趣的话可以自行移步阅读即可: 《基于轻量级YOLOv5s开发构建隧道基建裂痕、脱落等缺陷问题检测系统》 本文的想法是相近的,核心…...
C++--day5
实现一个图形类(Shape),包含受保护成员属性:周长、面积, 公共成员函数:特殊成员函数书写 定义一个圆形类(Circle),继承自图形类,包含私有属性:半…...
Django应用部署实战:从开发到生产,全程解析
部署架构图 版本说明 Centos 7.4 Python 3.6.4 Django 2.0.2 Channels 2.0.0 MySql 5.7 uWSGI Nginx 1.12.2 部署前 1、更新系统环境 yum install epel-release 2、安装所有的开发工具包 yum groupinstall -y “Development tools” 一、安装python 3.6.4 1、下载 cd /usr/…...
群晖NAS如何在内网部署HTTPS服务让浏览器信任证书
前言 最近在折腾内部部署Web服务。通过Vue实现一个H5的内部的管理服务。但在实际部署过程中由于种种原因,必须部署成Https服务。但在部署成Https服务后,由于没有HTTPS证书,每次进入页面都会被浏览器拦截。使用起来非常不便。于是开始各种Goo…...
crAPI靶场学习记录
靶场搭建 [靶场下载地址](我fork了一份) docker安装,笔者是用的wsldocker. [lab0:**初始账户 **] 注册一个账户,邮箱为[APIqq.com],密码为Admin123 登陆后访问对应IP的8025端口,接收邮件获取车辆信息。 [lab1:**访问其它用户车…...
知识图谱实战应用28-基于py2neo的ICD-11疾病分类的知识图谱的查询与问答实战应用
大家好,我是微学AI,今天给大家介绍一下知识图谱实战应用28-基于py2neo的ICD-11疾病分类的知识图谱的查询与问答实战应用。使用基于py2neo的ICD-11疾病分类知识图谱,我们能够像探索一座生物医学宇宙般,穿梭在各种疾病之间。这个神奇的图谱可以帮助我们揭示各种疾病之间复杂而…...
20.Xaml GroupBox控件 ---->带标题的内容控件
1.运行效果 2.运行源码 a.Xaml源码 <Window x:Class="testView.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.mic…...
基于CycleGAN的山水风格画迁移
基于CycleGAN的山水风格画迁移 1、简介 1.1 研究背景及意义 绘画是人类重要的一种艺术形式,其中中国的山水画源远流长,具有丰富的美学内涵,沉淀着中国人的情思。游山玩水的大陆文化意识,以山为德、水为性的内在修为意识&#x…...
@Cacheable 注解
1. 功能说明 Cacheable 注解在方法上,表示该方法的返回结果是可以缓存的。也就是说,该方法的返回结果会放在缓存中,以便于以后使用相同的参数调用该方法时,会返回缓存中的值,而不会实际执行该方法。 注意,这…...
vue3+ts项目打包后的本地访问
注意:打包之后不可直接点击html访问,需要给项目安装本地服务! 1、安装servenpm i -g serve 2、打包项目npm run build 生成dist文件夹 3、本地访问serve dist 运行service dist之后的控制台 可复制下方的地址运行打包后的项目,运行…...
探索程序员需要掌握的算法?
文章目录 一:引言二:常见算法介绍三:重点算法总结 🎉欢迎来到数据结构学习专栏~探索程序员需要掌握的算法? ☆* o(≧▽≦)o *☆嗨~我是IT陈寒🍹✨博客主页:IT陈寒的博客🎈该系列文章…...
性能测试 —— Jmeter定时器
固定定时器 如果你需要让每个线程在请求之前按相同的指定时间停顿,那么可以使用这个定时器;需要注意的是,固定定时器的延时不会计入单个sampler的响应时间,但会计入事务控制器的时间 1、使用固定定时器位置在http请求中…...
mp4视频太大怎么压缩?几种常见压缩方法
mp4视频太大怎么压缩?科技的飞速发展使得视频成为人们生活中不可或缺的一部分。然而,随着视频质量的不断提高,视频文件的大小也与日俱增,给我们的存储和传输带来了巨大的挑战和困扰。特别是MP4格式的视频,由于其出色的…...
论文复制ChatGPT按钮被发表,撤回后再曝多个类似案例;Midjourney 生成大师级的人像
🦉 AI新闻 🚀 论文复制ChatGPT按钮被发表,撤回后再曝多个类似案例 摘要:一篇物理论文复制了ChatGPT按钮内容,经过两个月同行评审并在杂志上发表。这一现象被知名打假人发现后,发表商决定撤回该论文。此外…...
Python自动化测试 史上最全的进阶教程
Python自动化测试就是把以前人为测试转化为机器测试的一种过程。自动化测试是一种比手工测试更快获得故障反馈的方法。 随着时代的变革,也许在未来测试这个职位的需求会越来越少甚至消失,但是每一个组织,每一个客户对软件质量的要求是永远不…...
centos pip失效
在 CentOS 上安装和配置 pip3 可能需要以下步骤: 确保 Python 3 已正确安装:请确保您已经正确地安装了 Python 3。在 CentOS 上,Python 3 可能默认安装在 /usr/bin/python3 路径下。您可以通过运行以下命令来验证 Python 3 是否正确安装&…...
Java——》ThreadLocal
推荐链接: 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…...
如何做好利益相关方的期望管理?
利益相关方对项目而言非常重要,有效管理利益相关方的期望可以帮助项目团队更好地满足利益相关方的需求,助于建立良好的合作伙伴关系,提高项目的可持续性和成功率。 如果项目团队无法满足利益相关方的需求,可能会引发冲突、争议或其…...
【K8S系列】深入解析k8s网络插件—Canal
序言 做一件事并不难,难的是在于坚持。坚持一下也不难,难的是坚持到底。 文章标记颜色说明: 黄色:重要标题红色:用来标记结论绿色:用来标记论点蓝色:用来标记论点 在现代容器化应用程序的世界中…...
从单页面应用角度去解决不跳转页面,也能更改浏览器url地址
正常来说不刷新页面,也能更改浏览器url地址的方法有很多,我们在网上搜的话可以看到有pushState、replaceState、popstate等方法,那还有没有其他方法呢? 答案是有的! 最近做一个vue商城项目的时候,用户点击支…...
Linux:keepalived + ipvsadm
介绍 Linux:keepalived 双热备份(基础备份web)_鲍海超-GNUBHCkalitarro的博客-CSDN博客https://blog.csdn.net/w14768855/article/details/132815057?spm1001.2014.3001.5501 环境 一台 centos7 keepalived ipvsadm (主…...
Linux基础命令(示例代码 + 解释)
查看目录下文件 ls [-a -l -h] [路径] -a(全部) -l(细节) -h(大小) ls ls / ls -a ls -l ls -h ls -alh ls -l -h -a ls -lah /切换目录 cd [路径] change di…...
巨人互动|Google企业户Google“自动采纳建议”应该如何使用
在数字化时代,Google已经成为了人们获取信息的主要渠道之一。而在使用Google搜索时,你可能会发现下拉框中自动提供的搜索建议。这些搜索建议是基于用户搜索行为和相关数据进行推测,旨在使用户更快速地找到所需信息。而Google还提供了一项名为…...
元宇宙全球市场规模到2030年将达9805亿美元!
元宇宙是一种新兴的概念,它指的是一个虚拟的世界,由人工智能、虚拟现实、区块链等技术构建而成。元宇宙的起源可以追溯到上世纪90年代的虚拟世界“第二人生”,但直到近年来,随着技术的不断发展,它才逐渐成为了人们关注…...
哪家网站建设/个人博客登录入口
点击蓝字关注我们吧!第一种打印hello world的方法启动Python程序并打印Hello world!第二种打印hello world的方法1,新建一个hello.py文件,使用notepad打开(或者新建一个hello.txt文档,编写完代码后…...
19年做网站/网拍外宣怎么推广
导语大家好,我是智能仓储物流技术研习社的社长,老K。欢迎加入社区。社区加入|原创12万字书等你领2020-12-14之前给大家整理了一篇中国仓储物流技术行业的发展简史图谱,其中有些错误。本次经同行的指点特此勘误更新。在此鸣谢南天凯玛王总、南…...
如何用wordpress做企站/汕头seo推广优化
原文链接:(http://blog.csdn.net/u013474104/article/details/43527937) 有一次我把/etc/profile下的配置文件给更改错了,谁知道,操作系统启动出现了问题。不论执行什么命令都会报:-bash:命令 :command not found 解决方案: 使…...
成都网站建设制作公司/广州最新新闻事件
ACL配置IP地址搭建ospf网络配置基本ALC控制访问企业网络中的设备进行通信时,需要保障数据传输的安全可靠和网络的性能稳定,网络安全很重要。 访问控制列表ACL(Access Control List)可以定义一系列不同的规则,设备根据这些规则对数据包进行分类…...
wordpress 酷播/整站优化快速排名
mysql主键约束主键(PRIMARY KEY)的完整称呼是“主键约束”,是 MySQL 中使用最为频繁的约束。一般情况下,为了便于 DBMS 更快的查找到表中的记录,都会在表中设置一个主键。使用主键应注意以下几点:每个表只能定义一个主键。主键值必…...
网站建设的销售好做吗/关键词查询工具软件
命令: ssh 命令参数: -l 指定登入用户 -p 设置端口号 -f 后台运行,并推荐加上 -n 参数 -n 将标准输入重定向到 /dev/null,防止读取标准输入 -N 不执行远程命令,只做端口转发 -q 安静模式,忽略一切对话和错误…...