C++问题,编译如下,但一直有问题,要求是建立图形类并派生出圆类和矩形类,而后由圆类派生出圆柱类,

#definePI3.1415926#include<iostream.h>classShape{public:doubleGetArea();private:intli... #define PI 3.1415926
#include<iostream.h>
class Shape
{
public:
double GetArea();
private:
int line;
};
//////////////////////
class Rectangle:public Shape
{
public:
Rectangle(double aa,double bb)
{a=aa;b=bb;cout<<"长"<<a<<"宽"<<b<<endl;
}
double GetArea()
{double m=a*b;
cout<<"矩形面积为"<<m<<endl;
}
private:
double a;double b;
};
class Circle:public Shape
{
public:
void Ciecle(double rr)
{
r=rr;
cout<<"半径"<<r<<endl;
}
virtual double GetArea()
{
double a=PI*r*r;
cout<<"圆的面积为"<<a<<endl;
}
private:
double r;
};
//////////////////////////////////
class Column:public Circle
{
public:
Column(double Crr,double Chh)
{
Cr=Crr,Ch=Chh;
}
double Area()
{
double f=PI*Cr*Cr*Ch;
cout<<"体积为"<<f<<endl;
}
private:
double Cr,Ch;
};
/////////////////////
void main()
{
Shape *pt;
Circle p1(2);
pt=&p1;
pt->GetArea();
Rectangle p2(2,8);
pt=&p2;
pt->GetArea();
Column p3(2,4);
pt=&p3;
p3->GetArea();
}
展开
 我来答
a5443
2013-04-07
知道答主
回答量:12
采纳率:0%
帮助的人:8.3万
展开全部
我想问问你到底会不会哦,我被你写的程序头都搞晕了,不过最后还是弄出来了
#define PI 3.1415926
#include<iostream.h>
class Shape
{
public:
Shape(){}
virtual void GetArea()=0;
private:
double line;
};
//////////////////////
class Rectangle:public Shape
{
public:
Rectangle(double aa,double bb)
{
a=aa;
b=bb;
cout<<"长"<<a<<"宽"<<b<<endl;
}
void GetArea()
{
double m=a*b;
cout<<"矩形面积为:"<<m<<endl;
}
private:
double a;
double b;
};
class Circle:public Shape
{
public:
Circle(){}
Circle(double rr)
{
r=rr;
cout<<"半径"<<r<<endl;
}
void GetArea()
{
double a=PI*r*r;
cout<<"圆的面积为"<<a<<endl;
}
private:
double r;
};
//////////////////////////////////
class Column:public Circle
{
public:
Column(double Crr,double Chh)
{
Cr=Crr,Ch=Chh;
}
void GetArea()
{
double f=PI*Cr*Cr*Ch;
cout<<"圆柱体体积为"<<f<<endl;
}
private:
double Cr,Ch;
};
/////////////////////
void main()
{
Shape *pt;
Circle p1(2);
pt=&p1;
pt->GetArea();
Rectangle p2(2,8);
pt=&p2;
pt->GetArea();
Column p3(2,4);
pt=&p3;
p3.GetArea();
}
追问
圆怎么没继承呢
追答
再看看还有那里不足之处
/****************************************
圆类,圆柱体类,矩形类
*****************************************/
#define PI 3.1415926
#include
class Shape
{
public:
Shape(){}
virtual void GetArea()=0;
private:
double line;
};
//////////////////////
class Rectangle:public Shape
{
public:
Rectangle(double aa,double bb)
{
a=aa;
b=bb;
coutGetArea();
Rectangle p2(2,8);
pt=&p2;
pt->GetArea();
Column p3(2,4);
pt=&p3;
p3.GetArea();
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式