实现一个图形类(Shape),包含受保护成员属性:周长、面积,
公共成员函数:特殊成员函数书写
定义一个圆形类(Circle),继承自图形类,包含私有属性:半径
公共成员函数:特殊成员函数、以及获取周长、获取面积函数
定义一个矩形类(Rect),继承自图形类,包含私有属性:长度、宽度
公共成员函数:特殊成员函数、以及获取周长、获取面积函数
在主函数中,分别实例化圆形类对象以及矩形类对象,并测试相关的成员函数。
代码:
- #include
- using namespace std;
- //定义一个图形类
- class Shape
- {
- protected:
- double peri;
- double area;
- public:
- //无参构造函数
- Shape(){cout<<"无参构造"<
- //有参构造函数
- Shape(double l,double s):peri(l),area(s) {cout<<"有参构造"<
- //析构函数
- ~Shape(){cout<<"析构函数"<
- //输出周长和面积
- };
- //定义一个圆形类
- class Circle:public Shape
- {
- private:
- double rad;
- public:
- //无参构造函数
- Circle() {cout<<"Circle::无参构造"<
- //有参构造函数
- Circle(int r):rad(r)
- {
- cout<<"有参构造"<
- }
-
- //获取圆形周长
- bool Circle_peri()
- {
- peri=2*3.14*rad;
- if(peri>0)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- //获取圆形面积
- bool Circle_area()
- {
- area=3.14*rad*rad;
- if(area>0)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- //输出周长和面积
- void show()
- {
- Circle_peri();
- Circle_area();
- cout<<"周长="<
- cout<<"面积="<
- }
- };
- //定义一个矩形类
- class Rect:public Shape
- {
- private:
- double length;
- double width;
- public:
- //无参构造函数
- Rect() {cout<<" Rect::无参构造"<
- //有参构造函数
- Rect(double a,double b):length(a),width(b)
- {
- cout<<"有参构造"<
- }
- //获取矩形周长
- bool Rect_peri()
- {
- peri= length*2+width*2;
- if(peri>0)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- //获取矩形面积
- bool Rect_area()
- {
- area=length*width;
- if(area>0)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- //输出周长和面积
- void show()
- {
- Rect_peri();
- Rect_area();
- cout<<"周长="<
- cout<<"面积="<
- }
- };
-
- int main()
- {
- Circle c1(3);
- c1.show();
- Rect r1(3,4);
- r1.show();
- return 0;
- }
运行结果:


-
相关阅读:
工具-Obsidian生产力工具,安装第三方插件(GitHub)教程,以安装Syntax Highlight(代码高亮)为例
朴素贝叶斯分类器_以python为工具【Python机器学习系列(十三)】
ValueError: Expected 2D array, got 1D array instead:
数据结构与算法-第五章 树与二叉树
前端解决反序列化long类型精度丢失的问题
Python接口自动化(什么是接口、接口优势、类型)
加速鸿蒙生态共建,蚂蚁mPaaS助力鸿蒙原生应用开发创新
码农死磕这份Java高级开发文档,成功‘挤‘进一线大厂,这也太强了吧
1.1 计算机组成原理----概述
【SQL】之索引
-
原文地址:https://blog.csdn.net/cwj442257772/article/details/132839842