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

网站建设行业发展史谷歌搜索引擎入口2022

网站建设行业发展史,谷歌搜索引擎入口2022,wordpress 图片打开慢,官方网站查询 优帮云题目内容: 编写程序,声明抽象基类Shape,由它派生出3个派生类:Circle、Rectangle、Triangle,用虚函数分别计算图形面积,并求它们的和。要求用基类指针数组,使它每一个元素指向一个派生类对象。 …

题目内容:

编写程序,声明抽象基类Shape,由它派生出3个派生类:Circle、Rectangle、Triangle,用虚函数分别计算图形面积,并求它们的和。要求用基类指针数组,使它每一个元素指向一个派生类对象。

输出样例如下如图:

代码如下:

#include <iostream>
#include <cmath>
using namespace std;class Shape
{
public:virtual double Area() = 0;virtual ~Shape() {}
};class Circle : public Shape
{
private:double radius;
public:Circle(double r) : radius(r) {}virtual double Area(){return 3.14 * radius * radius;}
};class Rectangle : public Shape
{
private:double width, height;
public:Rectangle(double w, double h) : width(w), height(h) {}virtual double Area(){return width * height;}
};class Triangle : public Shape
{
private:double base, height;
public:Triangle(double b, double h) : base(b), height(h) {}virtual double Area(){return 0.5 * base * height;}
};int main()
{Shape* shapes[3];shapes[0] = new Circle(5.0);shapes[1] = new Rectangle(4.0, 6.0);shapes[2] = new Triangle(3.0, 4.0);double totalArea = 0.0;for (int i = 0; i < 3; ++i){totalArea += shapes[i]->Area();cout << "Shape " << i + 1 << "面积为: " << shapes[i]->Area() << endl;}cout << "总面积为: " << totalArea << endl;return 0;
}

这段 C++ 代码实现了一个简单的面向对象程序,用于计算不同形状(圆形、矩形、三角形)的面积以及它们的总面积。下面将对代码进行详细解释:
1. 抽象基类Shape类的定义

  • virtual double Area() = 0;:这是一个纯虚函数,意味着Shape类是一个抽象基类,不能实例化对象。所有继承自Shape的派生类都必须实现这个Area函数,用于计算各自形状的面积。
  • virtual ~Shape() {}:虚析构函数,确保在通过基类指针删除派生类对象时,能够正确调用派生类的析构函数,避免内存泄漏。

2. 派生类Circle的定义

  • class Circle : public ShapeCircle类继承自Shape类,使用public继承方式,意味着Shape类的公有成员在Circle类中仍然是公有的。
  • double radius;:私有成员变量,用于存储圆的半径。
  • Circle(double r) : radius(r) {}:构造函数,用于初始化圆的半径。
  • virtual double Area():重写基类的纯虚函数Area,实现计算圆面积的功能,圆的面积公式为,这里取 3.14。

3. 派生类Recently的定义

  • class Rectangle : public ShapeRectangle类继承自Shape类。
  • double width, height;:私有成员变量,分别存储矩形的宽度和高度。
  • Rectangle(double w, double h) : width(w), height(h) {}:构造函数,用于初始化矩形的宽度和高度。
  • virtual double Area():重写基类的纯虚函数Area,实现计算矩形面积的功能。

4. 派生类Triangle的定义

  • class Triangle : public ShapeTriangle类继承自Shape类。
  • double base, height;:私有成员变量,分别存储三角形的底和高。
  • Triangle(double b, double h) : base(b), height(h) {}:构造函数,用于初始化三角形的底和高。
  • virtual double Area():重写基类的纯虚函数Area,实现计算三角形面积的功能。

5. 主函数

  • Shape* shapes[3];:定义一个基类指针数组,用于存储不同形状对象的指针。
  • shapes[0] = new Circle(5.0);shapes[1] = new Rectangle(4.0, 6.0);shapes[2] = new Triangle(3.0, 4.0);:使用new运算符动态创建CircleRectangleTriangle对象,并将它们的指针存储在shapes数组中。
  • double totalArea = 0.0;:用于存储所有形状的总面积。
  • for (int i = 0; i < 3; ++i):遍历shapes数组,调用每个形状对象的Area函数计算面积,并累加到totalArea中,同时输出每个形状的面积。
  • cout << "总面积为: " << totalArea << endl;:输出所有形状的总面积。

觉得有帮助就给博主点个关注叭~~

有问题的可以私信或者在评论区一起交流

友友们一起加油叭QAQ

http://www.dt0577.cn/news/33878.html

相关文章:

  • 建网站的公司哪家好长尾关键词有哪些
  • 在那个网站做推广实用宁波seo外包推广
  • 织梦程序如何搭建网站成人英语培训
  • 经常投诉网站快照长沙优化排名推广
  • java 企业网站开发怎么进入百度推广账户
  • 医疗网站建设方案百度优选官网
  • 淄博周村网站建设哪家好宁波seo推广服务电话
  • asp mysql做网站淘宝网店运营
  • 网站后台重置密码怎么做今日头条新闻最新消息
  • 生物科技公司网站模板企业在线培训系统
  • 河南怎样做网站推广社群营销成功案例
  • 学做网站论宁波seo推荐推广渠道
  • 苏州党员两学一做网站百度推广登录入口电脑
  • 网站建设有趣小游戏seo关键词排名优化销售
  • asp网站安全网站推广优化排名seo
  • 北京软件开发公司滕迎江广州宣布5条优化措施
  • 珠海门户网站建设多少钱seo培训一对一
  • 申请关闭网站深圳网络推广网站推广
  • 西安免费做网站机构腾讯广告联盟
  • 做房产销售可以在哪些网站上找客户查询网 网站查询
  • java 做网站的书简阳seo排名优化课程
  • 建设厅建筑业信息网真假网站自己做网站的软件
  • asp.net网站开发介绍aso优化{ }贴吧
  • 发票 网站建设种子搜索神器
  • wordpress 小工具 修改上海专业的seo推广咨询电话
  • 网络营销专员岗位职责seo全网营销的方式
  • 做牙的网站叫什么网络推广的基本方法有哪些
  • 设计网站公司都选亿企邦百度搜索广告怎么投放
  • 深圳企业网站制作哪家好软文代写平台有哪些
  • 百度自助网站建设小学生抄写新闻20字