C++——写一个程序,定义抽象基类,由它派生出3个派生类:圆形、矩形、三角形。用一个函数分别输出以上三者的面积,3个图形的数据在定义对象时给定。

没注释的源代码

#include <iostream>

using namespace std;

class Shape

{

public:

    virtual double area() const=0;

};

class Circle :public Shape

{

扫描二维码关注公众号,回复: 17441774 查看本文章

public:

    Circle(double r):radius(r){}

    virtual double area() const {return 3.14*radius*radius;}

protected:

    double radius;

};

class Rectangle :public Shape

{

public:

    Rectangle(double w,double h):width(w),height(h){}

    virtual double area() const {return width*height;}

protected:

    double width,height;

};

class Triangle :public Shape

{

public:

    Triangle(double a,double h):a(a),height(h){}

    virtual double area() const {return 0.5*a*height;}

protected:

    double a,height;

};

void printarea(const Shape &s)

{

    cout<<s.area()<<endl;

}

int main()

{

    Circle c(3.6);

    cout<<"Circle area=";

    printarea(c);

    Rectangle r(4,5);

    cout<<"Rectangle area=";

    printarea(r);

    Triangle t(4,5);

    cout<<"Triangle area=";

    printarea(t);

    return 0;

}

猜你喜欢

转载自blog.csdn.net/2303_80770781/article/details/143094125