问答题
请使用VC6或使用[答题]菜单打开考生文件夹proj2下的工程proj2,该工程中包含一个程序文件main.cpp,其中有类CPolygon(“多边形”)、CRectangle(“矩形”)、CTriangle(“三角形”)的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。该程序的正确输出结果应为:
20
10
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
#include<iostream>
using namespace std;
class CPolygon{
public:
//********found********
______//纯虚函数area声明
void printarea(void)
//********found********
{cout<<______<<endl;}
};
class CRectangle: public CPolygon{
int width; //长方形宽
int height; //长方形高
public:
CRectangle(int w, int h): width(w), height(h){}
int area(void) {return(width*height); }
};
class CTriangle: public CPolygon{
int length; //三角形一边长
int height; //该边上的高
public:
CTriangle(int 1, int h): length(1), height(h){}
//********found********
int area(void){return(______)/2;)
};
int main(){
CRectangle rect(4, 5);
CTriangle trgl(4, 5);
//********found********
______*ppoly1, *ppoly2;
ppoly1=▭
ppoly2=&trgl;
ppoly1->printarea();
ppoly2->printarea();
return 0;
}
【参考答案】
(1)virtual int area(void)=0; (2)area() (3)length*height (4)C......
(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)