C++程序填空,求助?

来源:百度知道 编辑:UC知道 时间:2024/05/28 12:28:45
下列shape类是一个表示形状的抽象类,area( )为求图形面积的函数,total( )是一个通用的用以求不同形状的图形面积的函数。请从shape类派生圆形类(Circle),并给出具体的求面积函数。在main函数中实现分别动态地求不同形状对象的面积。(请参照注释中提供的语句功能)
#include<iostream.h>
const float PI=3.14159f;
class shape{public: 【1】 //定义抽象类shape的纯虚函数area
};
【2】 // 定义派生类Circle
{public: Circle(float r){rad=r;}
float area(){return PI*rad*rad;}
private: float rad;};
float total(shape *s) // 定义通用的求不同形状图形面积的函数
{ float sum=0.0;
sum+=s->area(); //计算指定形状类型对象的面积并赋值给返回值
return sum; }
void main() // 定义主程序,完成指定形状类型对象面积的计算
{ Circle obj(2);
cout<< 【3】 ; //调用area函数实现Circle类型对象面积的计算
}

序号处应填写什么?

#include<iostream>
using namespace std;
const float PI=3.14159f;
class shape{
public:
virtual float area()=0;//定义抽象类shape的纯虚函数area
};
class Circle:public shape // 定义派生类Circle
{public: Circle(float r){rad=r;}
float area(){return PI*rad*rad;}
private: float rad;};
float total(shape *s) // 定义通用的求不同形状图形面积的函数
{ float sum=0.0;
sum+=s->area(); //计算指定形状类型对象的面积并赋值给返回值
return sum; }
void main() // 定义主程序,完成指定形状类型对象面积的计算
{ Circle obj(2);
cout<< obj.area() ; //调用area函数实现Circle类型对象面积的计算
}

如答案