2、定义一个Shape类含一个求面积的纯虚函数,由Shape类派生圆类、矩形类和三角形类求面积函数和求周长函数

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2、定义一个基类Shap,包含一个求面积的纯虚函数,由Shap类派生圆类、矩形类和三角形类,定义各自的数据成员、构造函数、求面积函数和求周长函数。编写主函数,定义各类对象及基类指针,通过基类指针调用求面积和周长函数,计算各对象的面积和周长。

#include

#include

class Shape

{public: virtual double mianji() const=0;};

class Yuan:public Shape

{public: Yuan(double r):radius(r){}

double mianji() const

{cout<<"圆的面积为:"<<3.14159*radius*radius<

return 0;}

void Yuan::zhouchang()

{cout<<"圆的周长为:"<<2*3.14159*radius<

private: double radius;};

class Juxing:public Shape

{public: Juxing(double l,double w):length(l),width(w){}

double mianji() const

{cout<<"矩形面积为:"<

return 0;}

void Juxing::zhouchang()

{cout<<"矩形周长为:"<<2*(length+width)<

private: double length,width;};

class Sanjiaoxing:public Shape

{public: Sanjiaoxing(double i,double j,double k):a(i),b(j),c(k){}

double mianji() const

{double p;

p=(a+b+c)/2;

cout<<"三角型面积为:"<

return 0;}

void Sanjiaoxing::zhouchang()

{cout<<"三角形周长为:"<

private: double a,b,c;};

int main(void)

{Shape *p=NULL;

double e,f,g,h,m,n;

cout<<"请输入圆的半径,矩形的长,宽和三角形的三边(满足三角形法则,并以空格为间隔)<<\n";

cin>>e>>f>>g>>h>>m>>n;

Yuan yuan(e);

Juxing juxing(f,g);

Sanjiaoxing sanjiaoxing(h,m,n);

p=&yuan;

p->mianji();

yuan.zhouchang();

p=&juxing;

p->mianji();

juxing.zhouchang();

p=&sanjiaoxing;

p->mianji();

sanjiaoxing.zhouchang();

system("pause");

return 0;}

相关文档
最新文档