第十三周任务三(义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形))

本文介绍了如何定义一个抽象基类Shape,并从它派生出Circle、Rectangle和Triangle三个派生类。通过main()函数计算并展示了不同几何体的面积,强调了抽象类在实现多态性和对象数组中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。用如下的mian()函数,求出定义的几个几何体的面积和。

#include<iostream> 
using namespace std;  
class Shape
{
public:
	virtual double area()=0;//将area定义为纯虚函数,使Shape类为抽象类
};
class Circle:public Shape   //定义圆类
{
public:
	double radius;  //半径成员数据

	Circle(double r):radius(r){}  //构造函数定义
	double area()      //对面积进行重新定义
	{
		return 3.14*radius*radius;

	}
};
class Rectangle:public Shape //定义矩形类
{
public:
	double lon,wide;
	Rectangle(double a,double b):lon(a),wide(b){}
	double area()
	{
		return lon*wide;
	}
};
class 	Triangle:public Shape
{
public:
	double wid,high;
	Triangle(double w,double h):wid(w),high(h){}
	double area()
	{
		return  (wid * high)/2;
	}
};

int main()
{
	Circle c1(12.6),c2(4.9);    //建立Circle类对象c1,c2,参数为圆半径
	cout<<"两个圆的面积分别为:"<<c1.ar
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值