c++的一道编程问题

来源:百度知道 编辑:UC知道 时间:2024/09/19 15:42:23
编写一个抽象类shape,在此基础上派生出类rectangle和circle,两者都有计算面积的函数getarea()、计算对象周长的函数getperim()。
题如上,请指教。

#include<iostream.h>
using namespace std;
class shape
{
public:
void shape(double k,double j,double l){m=k;n=j;o=l;}
virtual void getarea()=0
virtual void getperim()=0
int m,n,o;
}
class rectangle:public shape
{
public:
void getarea() {double s1=m*n;}
void getperim() {double c1=(m+n)*2}
}
class circle:public shape
{
public:
void getarea() {double s1=o*o*3.14;}
void getperim(){double c1=3.14*2*o}
}
主程序由于我不知道拿来做什么,不写了。

这不是很简单么。
class shape
{
public:
virtual int getarea()=0;//假设返回int类型面积
virtual int getperim()=0;
};

class rectagle():public shape
{
int x;
int y;
public:
int getarea(){return x*y;}
int getperim(){return 2*(x+y);}
}
circle可以类似写。

class shape
{
public:
virtual float getarea() = 0;//纯虚函数
virtual float getperim() = 0