急求一题C++编程题答案

来源:百度知道 编辑:UC知道 时间:2024/05/29 03:25:00
下面是一个形状类Shape,编写类Shape的派生类:圆类Circle,三角形类Triangle和矩形类Rectangle,并重定义基类的成员函数使之返回正确的结果(show( )函数要输出对象的基本信息),然后编写程序测试它们。
class Shape{
public:
//形状的面积
double area(){
return 0;
}
//形状的周长
double girth(){
return 0;
}
//输出对象的信息
void show(){
cout<<"Shape Object:"<<endl;
}
private:
};

别的不说,首先题目有问题:那些函数前面应该加一个“virtual”。要么是继承不了的。
下面写一个圆的,其他的自己研究一下吧。自己总是要学的嘛~~ :)

const double PI = 3.1415926L;

class Circle : class Shape
{
public:
Shape(double dR);
virtual double area()
{
return PI * m_dR * m_dR;
}

//形状的周长
virtual double girth()
{
return 2.0L * m_dR * PI;
}
//输出对象的信息
virtual void show(){
cout<<"自己看着写吧:圆,半径为:"<< m_dR <<endl;
}

private:
double m_dR;
};