帮小弟看看这道程序题吧!

来源:百度知道 编辑:UC知道 时间:2024/06/18 13:58:16
有一个基类名为“形状”,它有派生类“圆”、 “正方形”和“长方形”。利用多态性概念,以虚函数的形式完成计算“圆”、“正方形”和“长方形”的面积。
能把具体的程序写一下吗?
小弟想看看具体的程序!
非常感谢

#include <iostream>
#include <string>
using namespace std;

class shape
{
public:
virtual float area(){return 0;}
};
class rect:public shape
{
private:int a;
int b;
public:
rect(int x,int y){a=x;b=y;}
virtual float area() {return(a*b);}
};
class zhengrect:public shape
{
private:
int a;
public:
zhengrect(int x){a=x;}
virtual float area() {return(a*a);}
};
class circle:public shape
{
private:
int r;
public:
circle(int x){r=x;}
virtual float area() {return(3.14*r*r);}
};
void main()
{
rect rec(10,11);
zhengrect recz(10);
circle ci(10);
shape *p = &rec;
cout<<p->area()<<endl;
p=&recz;
cout<<p->area()<<endl;
p=&ci;
cout<<p->area()<<endl;
system("pause");
}

“圆”、 “正方形”和“长