华清 c++ day5 9月12

2023-11-08

#ifndef _HOMEWORK_H_
#define _HOMEWORK_H_

#include <iostream>
#include <cmath>

using namespace std;

//定义一个图形类
class Shap
{
protected:
	//周长
	double perimeter;
	//面积
	double area;
public:
	//无参构造
	Shap();
	//析构函数
	~Shap();
};

//圆类
class Circle :public Shap
{
private:
	double radius;
public:
	//无参构造
	Circle();
	//有参构造
	Circle(double r);
	//拷贝构造
	Circle(const Circle& other);
	//获取周长
	double getPerimeter()const;
	//获取面积
	double getArea()const;
};

//矩形类
class Rect :public Shap
{
private:
	double width;
	double length;
public:
	//无参构造
	Rect();
	//有参构造
	Rect(double l, double w);
	//拷贝构造
	Rect(const Rect& other);
	//获取周长
	double getPerimeter()const;
	//获取面积
	double getArea()const;
};

#endif // !_HOMEWORK_H_
#include "homework.h"

Shap::Shap():perimeter(0),area(0)
{
	cout << "Shap::无参构造" << endl;
}

Shap::~Shap()
{
	cout << "Shap::析构函数" << endl;
}

Circle::Circle():radius(0)
{
	cout << "Cricle::无参构造" << endl;
}

Circle::Circle(double r):radius(r)
{
	cout << "Circle::有参构造" << endl;
	perimeter = 2 * 3.1415926 * radius;
	area = 3.1415926 * radius * radius;
}

Circle::Circle(const Circle& other):radius(other.radius)
{
	cout << "Circle::拷贝构造函数" << endl;
	perimeter = 2 * 3.1415926 * radius;
	area = 3.1415926 * radius * radius;
}

double Circle::getPerimeter() const
{
	return perimeter;
}

double Circle::getArea() const
{
	return area;
}

Rect::Rect():width(0),length(0)
{
	cout << "Rect::无参构造" << endl;
}

Rect::Rect(double l, double w):length(l),width(w)
{
	cout << "Rect::有参构造" << endl;
	perimeter = 2 * (length + width);
	area = length * width;
}

Rect::Rect(const Rect& other):width(other.width),length(other.length)
{
	cout << "Rect::拷贝构造函数" << endl;
	perimeter = 2 * (length + width);
	area = length * width;
}



double Rect::getPerimeter() const
{
	return perimeter;
}

double Rect::getArea() const
{
	return area;
}
#include "homework.h"

int main()
{
    Circle c1(5);
    cout << "c1: Perimeter = " << c1.getPerimeter() << ", Area = " << c1.getArea() << endl;

    Rect r1(4, 6);
    cout << "r1: Perimeter = " << r1.getPerimeter() << ", Area = " << r1.getArea() << endl;

    Circle c2(c1);
    cout << "c2: Perimeter = " << c2.getPerimeter() << ", Area = " << c2.getArea() << endl;

    Rect r2(r1);
        cout << "r2: Perimeter = " << r2.getPerimeter() << ", Area = " << r2.getArea() << endl;

	return 0;
}

面试题 - GitMind

C++ - day4 - GitMind

在线思维导图 - GitMind

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

华清 c++ day5 9月12 的相关文章

  • C 编程 - 文件 - fwrite

    我有一个关于编程和文件的问题 while current NULL if current gt Id Doctor 0 current current gt next id doc current gt Id Doctor if curre
  • 没有强命名的代码签名是否会让您的应用程序容易被滥用?

    尝试了解authenticode代码签名和强命名 我是否正确地认为 如果我对引用一些 dll 非强命名 的 exe 进行代码签名 恶意用户就可以替换我的 DLL 并以看似由我签名但正在运行的方式分发应用程序他们的代码 假设这是真的 那么您似
  • 我如何才能等待多个事情

    我正在使用 C 11 和 stl 线程编写一个线程安全队列 WaitAndPop 方法当前如下所示 我希望能够将一些内容传递给 WaitAndPop 来指示调用线程是否已被要求停止 如果 WaitAndPop 等待并返回队列的元素 则应返回
  • 动态加载程序集的应用程序配置

    我正在尝试将模块动态加载到我的应用程序中 但我想为每个模块指定单独的 app config 文件 假设我的主应用程序有以下 app config 设置
  • 在结构中使用 typedef 枚举并避免类型混合警告

    我正在使用 C99 我的编译器是 IAR Embedded workbench 但我认为这个问题对于其他一些编译器也有效 我有一个 typedef 枚举 其中包含一些项目 并且我向该新类型的结构添加了一个元素 typedef enum fo
  • 不支持将数据直接绑定到存储查询(DbSet、DbQuery、DbSqlQuery)

    正在编码视觉工作室2012并使用实体模型作为我的数据层 但是 当页面尝试加载时 上面提到的标题 我使用 Linq 语句的下拉控件往往会引发未处理的异常 下面是我的代码 using AdventureWorksEntities dw new
  • ASP.NET MVC:这个业务逻辑应该放在哪里?

    我正在开发我的第一个真正的 MVC 应用程序 并尝试遵循一般的 OOP 最佳实践 我正在将控制器中的一些简单业务逻辑重构到我的域模型中 我最近一直在阅读一些内容 很明显我应该将逻辑放在域模型实体类中的某个位置 以避免出现 贫血域模型 反模式
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • 从Web API同步调用外部api

    我需要从我的 Web API 2 控制器调用外部 api 类似于此处的要求 使用 HttpClient 从 Web API 操作调用外部 HTTP 服务 https stackoverflow com questions 13222998
  • 用于登录 .NET 的堆栈跟踪

    我编写了一个 logger exceptionfactory 模块 它使用 System Diagnostics StackTrace 从调用方法及其声明类型中获取属性 但我注意到 如果我在 Visual Studio 之外以发布模式运行代
  • WCF 中 SOAP 消息的数字签名

    我在 4 0 中有一个 WCF 服务 我需要向 SOAP 响应添加数字签名 我不太确定实际上应该如何完成 我相信响应应该类似于下面的链接中显示的内容 https spaces internet2 edu display ISWG Signe
  • SolrNet连接说明

    为什么 SolrNet 连接的容器保持静态 这是一个非常大的错误 因为当我们在应用程序中向应用程序发送异步请求时 SolrNet 会表现异常 在 SolrNet 中如何避免这个问题 class P static void M string
  • 转发声明和包含

    在使用库时 无论是我自己的还是外部的 都有很多带有前向声明的类 根据情况 相同的类也包含在内 当我使用某个类时 我需要知道该类使用的某些对象是前向声明的还是 include d 原因是我想知道是否应该包含两个标题还是只包含一个标题 现在我知
  • WPF/C# 将自定义对象列表数据绑定到列表框?

    我在将自定义对象列表的数据绑定到ListBox in WPF 这是自定义对象 public class FileItem public string Name get set public string Path get set 这是列表
  • 向现有 TCP 和 UDP 代码添加 SSL 支持?

    这是我的问题 现在我有一个 Linux 服务器应用程序 使用 C gcc 编写 它与 Windows C 客户端应用程序 Visual Studio 9 Qt 4 5 进行通信 是什么very在不完全破坏现有协议的情况下向双方添加 SSL
  • 为什么编译时浮点计算可能不会得到与运行时计算相同的结果?

    In the speaker mentioned Compile time floating point calculations might not have the same results as runtime calculation
  • 如何将带有 IP 地址的连接字符串放入 web.config 文件中?

    我们当前在 web config 文件中使用以下连接字符串 add name DBConnectionString connectionString Data Source ourServer Initial Catalog ourDB P
  • 基于 OpenCV 边缘的物体检测 C++

    我有一个应用程序 我必须检测场景中某些项目的存在 这些项目可以旋转并稍微缩放 更大或更小 我尝试过使用关键点检测器 但它们不够快且不够准确 因此 我决定首先使用 Canny 或更快的边缘检测算法 检测模板和搜索区域中的边缘 然后匹配边缘以查
  • 混合 ExecutionContext.SuppressFlow 和任务时 AsyncLocal.Value 出现意外值

    在应用程序中 由于 AsyncLocal 的错误 意外值 我遇到了奇怪的行为 尽管我抑制了执行上下文的流程 但 AsyncLocal Value 属性有时不会在新生成的任务的执行范围内重置 下面我创建了一个最小的可重现示例来演示该问题 pr
  • C# 模拟VolumeMute按下

    我得到以下代码来模拟音量静音按键 DllImport coredll dll SetLastError true static extern void keybd event byte bVk byte bScan int dwFlags

随机推荐

  • 什么是分而治之?

    分而治之 从语文上来说 有两个意思 1 分别治理 2 利用手段使国家 民族或宗教等产生分裂 然后对其进行控制和统治 而从软件工程来看 是一种方法 是有效算法设计中普遍采用的一种技术 所谓 分而治之 就是把一个复杂的算法问题按一定的 分解 方
  • 动力节点Spring Boot3项目版实战教程,学练一体,轻松掌握

    Spring Boot 3是一个非常令人期待的版本 将进一步扩大Spring Boot框架在应用程序开发领域的影响力 并带来更加出色的开发体验 Spring Boot 3的推出 带来个更多的新特性和功能 也为开发人员提供更高效 更优秀的开发
  • 中医四诊之五音 --详解

    from 老中医 LaoZY cn 医家箴言 肝呼应角 心言应徵 脾歌应宫 肺哭应商 肾呻应羽 五脏五声 以合五音 素问 阴阳应象大论 曰 视喘息 听音声 而知所苦 盖病苦于中 声发于外 有不可诬者也 故 难经 六十一难 曰 闻其五音以别其
  • Django rest_framework开发一组RESTFUL标准接口[ModelSerializer+GenericAPIView]

    Django rest framework开发一组RESTFUL标准接口 ModelSerializer GenericAPIView 不管何等复杂的业务逻辑 不管何等高效的开发框架 对后端来说最终都要落到对具体的某一个关系模型的增删改查上
  • 各类文件对应Content-Type

    两种初始化Map常量 1 new HashMap 2 static 静态代码块 static Map
  • 微信小程序:心跳动画

    封装工具类 var app getApp module exports animationMiddleHeaderItem animationMiddleHeaderItem 心跳动画 平移动画 function animationMidd
  • linux部署jenkins报错:ModuleNotFoundError: No module named ‘XXX‘已解决

    项目场景 实现接口自动化python jenkins allure 部署环境 linux中部署jenkins容器 容器需安装jdk python环境 python脚本 放入jenkins容器中 allure 安装在容器中 jenkins配置
  • JS逆向 -- 开发者工具介绍

    一 打开方式 1 通过快捷键F12 2 通过浏览器设置打开 二 常用的功能 1 元素 显示前端的相关东西 2 控制台 可以动态获取某些变量的值 比如获取当前页面的cookie值 3 源代码 动态调试的时候用到 可以下断点查看堆栈等相关操作
  • Python3,19行代码,我把她的照片写入到Excel中,2022年伊始,她终于被我感动了。

    19行代码 把图片写到如excel 1 引言 2 代码实战 2 1 思路 2 2 文件准备 2 3 实战 2 3 1 安装 2 3 2 代码实战 3 总结 1 引言 小屌丝 鱼哥 新年快乐 小鱼 新年快乐 小屌丝 虽然是元旦 但是也算是迈入
  • Python 安装第三方库详解(含离线)

    文章目录 1 Python 在线安装第三方库 1 1 在 cmd 中运行 pip install xx 1 2 在 Pycharm 中安装 2 Python 离线安装第三方库 2 1 从官方库下载 1 Python 在线安装第三方库 1 1
  • 深度学习图像增强---python库imgaug

    图像增强python库imgaug landmark 增强 segmentation 增强 imgaug用来做图像增强的一个python库 1 图像增强是在小样本以及提高模型泛化能力的通常采用的措施 下面总结一下我之前用到过的一些内容 la
  • 虚拟机网卡不见了

    有的时候不知道为什么虚拟机就是不能上网 郁闷 排除了虚拟机网卡被禁用之类的原因的话 看下系统时间 如果没有跟物理机器时间一致 改成一样试试看
  • DBA典型的工作职责

    下面不是全部列表 但是包括了DBA的典型职责 把监视数据库实例当作每日必做工作以保证其可用性 解决不可用的问题 收集系统统计和性能信息以便定向和配置分析 配置和调整数据库实例以便在应用程序特定要求下达到最佳性能 分析和管理数据库安全性 控制
  • diff和patch使用指南

    diff和patch是一对工具 在数学上来说 diff是对两个集合的差运算 patch是对两个集合的和运算 diff比较两个文件或文件集合的差异 并记录下来 生成一个diff文件 这也是我们常说的patch文件 即补丁文件 patch能将d
  • 苹果手机忘记密码锁屏了怎么办,有什么处理方法可解

    我们平时用手机 不管什么牌子的手机 都会设置锁屏密码 是为更好的保护自己的隐私信息 但人有时候就是会犯这样的蠢事 蠢到自己都想哭 就是忘记锁屏密码 手机打不开 要是遇到什么急事 真的是快被自己气死 以苹果手机为例 那接下来由小编分享苹果手机
  • Prometheus(五)——PromQL介绍

    这里写自定义目录标题 PromQL介绍 基本用法 查询时间序列 完全匹配 正则匹配 范围查询 时间位移操作 使用聚合操作 标量和字符串 标量 Scaler 字符串 合法的PromQL表达式 合法规则 标签名称的表达 PromQL操作符 数学
  • tq210-uboot spl 和 stage 2 启动

    将OK210的代码稍微改了改 如下 1 mem初始化更改 因为ok210为512M 而tq210为1G内存 2 ok210使用串口0为debug 口 3 ok210的sd卡在通道0上 主要是利用SD卡启动 SOC首先读取SD的SPL部分到s
  • Mybatis中关于返回值的问题

    Mybatis中关于返回值的问题 结论 在Mybatis的xml中 可以使用resultType 来指定其返回值的类型 但如果sql语句执行的结果为空 则会返回null 问题描述 在写Mybatis中的select语句 因为查找的条件 很有
  • 11.全志H3-AD使用记录

    上面是我的微信和QQ群 欢迎新朋友的加入 修改PCB默认字体 网上大多数教程都是改这里 我的操作是这个default里面 从头找到尾 凡是丝印层的 全改成自己想要的字体 原理图选中之后 PCB没有变化
  • 华清 c++ day5 9月12

    ifndef HOMEWORK H define HOMEWORK H include