由Shape派生出的抽象基类

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

Description

编写一个程序,声明抽象基类Shape,由它派生出3个派生类: Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数printArea分别输出以上三者的面积(结果保留两位小数),3个图形的数据在定义对象时给定。

Input

圆的半径
矩形的边长
三角形的底与高

Output

圆的面积
矩形的面积
三角形的面积

Sample Input

12.6
4.5 8.4
4.5 8.4

Sample Output

area of circle = 498.76
area of rectangle = 37.80
area of triangle = 18.90

Code

#include <iostream>
#include <iomanip>
using namespace std;
class Shape
{
public:
    virtual double area()=0;//定义一个纯虚函数
};
void printArea(Shape &shape)
{
    cout<<shape.area()<<endl;
}
class Circle:public Shape
{
protected:
    double r;
public:
    Circle(double a):r(a){}
    virtual double area()
    {
        return (3.14159*r*r);
    }
};
class Rectangle:public Shape
{
protected:
    double a;
    double b;
public:
    Rectangle(double x,double y):a(x),b(y){}
    virtual double area()
    {
        return (a*b);
    }
};
class Triangle:public Shape
{
protected:
    double w;
    double h;
public:
    Triangle(double x,double y):w(x),h(y){}
    virtual double area()
    {
        return (w*h/2);
    }

};
int main()

{

    float r,a,b,w,h;

    cout<<fixed<<setprecision(2);

    cin>>r;

    Circle circle(r);

    cout<<"area of circle = ";

    printArea(circle);

    cin>>a>>b;

    Rectangle rectangle(a,b);

    cout<<"area of rectangle = ";

    printArea(rectangle);

    cin>>w>>h;

    Triangle triangle(w,h);

    cout<<"area of triangle = ";

    printArea(triangle);

    return 0;

}




第十三周任务三(义抽象基类Shape,由它派生3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)) 问题描述:定义抽象基类Shape,由它派生3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。用如下的mian()函数,求定义的几个几何体的面积和。 #include using namespace std; class Shape { public: virtual double area()=0;//将area定义为纯虚函数,使Sh 阅读详情

相关推荐

第十三周【任务三】【任务3】写一个程序,定义抽象基类Shape,由它派生3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。

【任务3】写一个程序,定义抽象基类Shape,由它派生3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。用如下的mian()函数,求定义的几个几何体的面积和。 int main() {  Circle c1(12.6),c2(4.9);    //建立Circle类对象c1,c2,参数为圆半径  Rectangle r1(4.5,8.4),r2(

pinktinda的专栏 4855

求助贺老师

/*Description 编写一个程序,声明抽象基类Shape,由它派生3个派生类: Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数printArea分别输以上三者的面积(结果保留两位小数),3个图形的数据在定义对象时给定。 Input 圆的半径 矩形的边长 三角形的底与高 Output 圆的面积 矩形的面积 三角形

u012370419的专栏 893

c++例题关于基类与派生

根据圆的原新位置和半径算面积,根据正方形中心定点坐标算面积

C++习题 虚函数-计算图形面积

C++习题 虚函数-计算图形面积 Time Limit:1 SecMemory Limit:128 MB Submit:122Solved:86 [Submit][Status][Web Board] Description 编写一个程序,定义抽象基类Shape,由它派生5个派生类: Circle(圆形)、Square(正方形)、Rectan...

weixin_30920513的博客 1442

PTA:用虚函数计算各种图形的面积(c++,继承)

定义抽象基类Shape,由它派生五个派生类:Circle(圆形)、Square(正方形)、Rectangle( 长方形)、Trapezoid (梯形)和Triangle (三角形),用虚函数分别计算各种图形的面积,输它们的面积和。要求用基类指针数组,每一个数组元素指向一个派生类的对象。PI=3.14159f,单精度浮点数计算。 输入格式: 输入在一行中,给9个大于0的数,用空格分隔,分别代表圆的半径,正方形的边长,矩形的宽和高,梯形的上底、下底和高,三角形的底和高。 输格式: 输所有图形的面积和,

速溶咖啡味道很中意丶的博客 1945

C++习题 抽象基类

Problem G: C++习题 抽象基类 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 101  Solved: 81 [Submit][Status][Web Board] Description 编写一个程序,声明抽象基类Shape,由它派生3个派生类: Circle(圆形)、Rectangle(矩形)、Triangl

u012332009的专栏 1409

一个程序,定义抽象基类Shape,由它派生5个派生

一个程序,定义抽象基类Shape,由它派生5个派生类,Cirle(圆形)、Square(正方形)、Rectangle(矩形)、Trapezoid(梯形)、Triangle(三角形)。用虚函数分别计算几种图形面积,并求他们的和。要求用基类指针数组,使它的每一个元素指向一个派生类对象。 #include<iostream> usingnamespace...

weixin_34419326的博客 5949

java 定义抽象基类shape_由它派生三个派生类_编写一个程序,声明抽象基类Shape,由它派生3个派生类:Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个...

编写一个程序,声明抽象基类Shape,由它派生3个派生类:Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数pritArea分别输以上三者的面积,3个图形的数据在定义对象时给定。以下是此题的【c++源代码】#include using namespace std;//定义抽象基类Shapeclass Shape{public:virtual double ...

weixin_34374684的博客 2149

java 定义抽象基类shape_由它派生三个派生类_编写一个程序,定义抽象基类Shape,由它派生5个派生类:Cricle(圆形),Square(正方形), Rectangle(矩形), Tra...

C+编程:编写一个程序,定义抽象基类Shape,由它派生5个派生类:Cricle(圆形),Square(正方形), Rectangle(矩形), Trapezoid (梯形),Triangle(三角形)。用虚函数分别计算图形面积,并求所有图形面积的和.要求用基类指针数组,使它的每一个元素指向一个派生类对象。以下是此题的【c++源代码】#include using namespace std;//...

weixin_31464715的博客 4981

定义抽象基类Shape由他派生n个派生类,用一个printArea分别输派生类的面积,派生类的数据定义对象时给定

实验1 写一个程序,定义抽象基类Shape,由他派生三个派生类:Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数printArea分别输以上三者的面积,三个图形的数据在定义对象时给定 代码1 #include<iostream> #include<cmath> using namespace std; #define n 3 //使用宏定义或者const都行 //const int n=3; class Shape{ public:

qq_54388490的博客 2184

java 定义抽象基类shape_由它派生三个派生类,用C++编写一个程序,定义抽象基类Shape,由它派生5个派生类:Cricle(圆形),Square(正方形),Rectangle(矩形),&...

#includeusing namespace std;class Shape //定义抽象基类 Shape{public:virtual double area() const =0; //纯虚函数};class Circle:public Shape{public:Circle(double r):radius(r){} //构造函数virtual double area() const /...

weixin_40004659的博客 926

一个程序,定义抽象基类Shape,由它派生3个派生

一个程序,定义抽象基类Shape,由它派生3个派生类,Cirle(圆形、Rectangle(矩形)、Triangle(三角形)。用一个函数printArea 分别输以上三者的面积,3个图形的数据在定义对象时给定、 #include<iostream> usingnamespacestd; /* 圆面积S=3.14*r*r ...

weixin_34367257的博客 3133

java 定义抽象基类shape_由它派生三个派生类_第13周实验--任务3--定义抽象基类Shape,由它派生3个派生类,Circle、Rectangle、Triangle。求定义的3个几何体...

* (程序头部注释开始)* 程序的版权和版本声明部分* Copyright (c) 2011, 烟台大学计算机学院学生* All rights reserved.* 文件名称:设计一个抽象基类,生三个派生类。* 作 者: 雷恒鑫* 完成日期: 2012 年 05月11 日* 版 本 号: V1.0* 对任务及求解方法的描述部分* ...

weixin_36022526的博客 693

编写一个程序,定义抽象基类Shape,由它派生5个派生类:Circle(圆形)、Square(正方形)、Rectangle(矩形)、Trapezoid(梯形)、Triangle(三角形)。用虚函数分

编写一个程序,定义抽象基类Shape,由它派生5个派生类:Circle(圆形)、Square(正方形)、Rectangle(矩形)、Trapezoid(梯形)、Triangle(三角形)。用虚函数分别计算几种图形面积,并求它们的和。要求用基类指针数组,使它每一个元素指向一个派生类对象。 #include<iostream> using namespace std; class Shape { public: virtual double area() const=0; }; clas

AKK188888881的博客 2万+

定义抽象基类Shape,由它派生3个派生类,Circle、Rectangle、Triangle

/* * 程序的版权和版本声明部分 * Copyright (c)2012, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称: object.cpp * 作者:赵 洋 * 完成日期: 2013年 5 月 31日 * 版本号: v1.0 * 输入描述:无 * 问题描述:写一个程序,定义抽象基类Shape,由它派生3个派生类,Circle(圆形)

CXZHAOYANG12的专栏 9855

java 定义抽象基类shape_由它派生三个派生类_第十三周实验报告(三)定义抽象shape和由它派生来的三个派生类 | 学步园...

* (程序头部注释开始)* 程序的版权和版本声明部分* Copyright (c) 2012, 烟台大学计算机学院学生* All rights reserved.* 文件名称:定义抽象shape和由它派生来的三个派生类。* 作 者:晁阳* 完成日期: 2012 年 05 月 15 日* 版 本 号: t1.0* 对任务及求解方法的...

weixin_31616803的博客 856

习题 12.4 编写一个程序,声明抽象基类Shape,由它派生3个派生类:Circle、Rectangle、Triangle,用一个函数pritArea分别输以上三者的面积。

习题 12.4 编写一个程序,声明抽象基类Shape,由它派生3个派生类:Circle、Rectangle、Triangle,用一个函数pritArea分别输以上三者的面积,3个图形的数据在定义对象时给定。 代码: #include<iostream> #include<iomanip> using namespace std; class Shape { public: Shape() {} virtual ~ Shape() {} virtual doub

weixin_42597789的博客 2609
上一篇: 简单的MD5查询工具
下一篇: Win10正式版登陆界面的修改
Hades_Dev
博客等级 码龄14年 542粉丝 306原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值