Shape类中有2个纯虚函数:显示信息函数Show();求图形面积函数area()。
在此抽象类的基础上派生出Rectangle(矩形)和Circle(圆形)类,这两个类都有area()函数计算面积,Show()函数显示信息。
在主函数中分别声明矩形类和圆形类的对象,在屏幕上输出对象的信息和面积信息。
输出结果可参考下图:
Shape类中有2个纯虚函数:显示信息函数Show();求图形面积函数area()。
在此抽象类的基础上派生出Rectangle(矩形)和Circle(圆形)类,这两个类都有area()函数计算面积,Show()函数显示信息。
在主函数中分别声明矩形类和圆形类的对象,在屏幕上输出对象的信息和面积信息。
输出结果可参考下图:
#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;
}