Shape类中有2个纯虚函数:显示信息函数Show();求图形面积函数area()。

Shape类中有2个纯虚函数:显示信息函数Show();求图形面积函数area()。

在此抽象类的基础上派生出Rectangle(矩形)和Circle(圆形)类,这两个类都有area()函数计算面积,Show()函数显示信息。

在主函数中分别声明矩形类和圆形类的对象,在屏幕上输出对象的信息和面积信息。

输出结果可参考下图:

img


#include<iostream>
#include<stdio.h>
using namespace std;

class Shape{
public:
    virtual void Show() = 0;
    virtual void area() = 0;
protected:
    int S;
};

class Rectangle:public Shape{
public:
    void Show(){
        printf("宽为%d,高为%d的矩形的面积为:%d\n", width, height, S);
    }
    void area(){
        printf("请输入矩形的宽和高:");
        scanf("%d %d", &width, &height);
        S = width * height;
    }
private:
    int width;
    int height;
};

class Circle:public Shape{
public:
    void Show(){
        printf("半径为%d的圆的面积为:%d\n", radiu, S);
    }
    void area(){
        printf("请输入圆的半径:");
        scanf("%d", &radiu);
        S = 3.14 * radiu * radiu;
    }
private:
    int radiu;
};

int main(){
    Rectangle r;
    Circle c;
    r.area();
    c.area();
    r.Show();
    c.Show();
    system("pause");
    return 0;
}