C++实训(3.2)

请编写一个抽象类shape,在此基础上派生出类Rectangle和Circle,两者都有计算面积的函数GetArea()、计算对象周长的函数GetPerim()。

抽象类

源程序:

#include<iostream>
#define PI 3.1415926;
using namespace std;
class Shape //抽象类bai的 定义
{
public:
virtual double GetArea() = 0; //纯虚函数du
virtual double GetPerim() = 0; //纯虚函数
};
class Rectangle : public Shape //矩形类,公zhi有继承
{
public: Rectangle(double aa, double bb) //带参数的 构造函数
{
a = aa;
b = bb;
cout << "长dao" << a << "宽" << b << endl;
}
virtual double GetArea()
{
return a * b;
}
virtual double GetPerim()
{
return 2* (a + b );
}
private:
double a;
double b;
};
class Circle : public Shape //圆类,公有继承
{
public: Circle(double rr) //带参数的 构造函数
{
r = rr;
cout << "半径" << r << endl;
}
virtual double GetArea()
{
return r * r * PI;
}
virtual double GetPerim()
{
return 2 * r * PI;
}
private:
double r;
};
void main()
{
double length, width;
cout << "输入长和宽: ";
cin >> length >> width;
Rectangle rect(length, width);
cout << "面积是:" << rect.GetArea() << endl << "周长是:" << rect.GetPerim() << endl;
double rr;
cout << "输入半径: ";
cin >> rr;
Circle cir(rr);
cout << "面积是:" << cir.GetArea() << endl << "周长是:" << cir.GetPerim() << endl;
}

运行结果:

C++实训(3.2)

 

原文链接: https://www.cnblogs.com/duanqibo/p/13149904.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    C++实训(3.2)

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/355643

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 上午10:26
下一篇 2023年3月2日 上午10:27

相关推荐