简答题:使用VC++6.0打开考生文件夹下的源程序文件3.cpp,要求编写一个CMyShape类,含有求面积、周长等的纯虚函数,

  • 题目分类:C++
  • 题目类型:简答题
  • 查看权限:VIP
题目内容:
使用VC++6.0打开考生文件夹下的源程序文件3.cpp,要求编写一个CMyShape类,含有求面积、周长等的纯虚函数,然后编写一个CRectangle类和CCircle类继承CMyShape,并实现求面积、周长的两个函数。在main函数中测试得到下面的结果:
在CMyShape类构造函数内
在CCircle类构造函数内
在CMyShape类构造函数内
在CReetangle类构造函数内
myCircle:Area=314.159Girth=62.8319
myRectangle:Area=900Girth=120
具体要求如下:
(1)定义求面积的纯虚函数,请在注释1后添加适当的语句。
(2)定义求周长的纯虚函数,请在注释2后添加适当的语句。
(3)请在注释3和注释4后添加适当的语句。
注意:除在指定位置添加语句之外,不要改动程序中的其他内容。
试题程序:
#include<iostream.h>
#inelude<math.h> #definePI3.1415926
classCMyPoint
{
public:
intX,y;
CMyPoint(inttx,intty):x(tx),y(ty){}
};
classCMyShape
{
public:
CMyShape(){cout{{"在CMyShape类构造函数内"
<<endl;}
//********1********
//********2********
protected:
};
classCCircle:publicCMyShape
{
public:
CCircle(CMyPointi,doublej):CMyShape(),arc-
Center(i),radius(j)
{
cout<<"在CCircle类构造函数内"<<endl;
}
doubleGetArea()
{
returnPI*radius*radius:
}
doubleGetGirth()
{
return2*PI*radius:
}
private:
CMyPointarcCenter;
doubleradius;
};
classCRectangle:publicCMyShape
{
public:
CRectangle(CMyPointIt,CMyPomtrb):leftTop(it),
rightBottom(rb),CMyShape()
{
cout<<"在CRectangle类构造函数内"<<endl
}
doubleGetArea()
{
intwidth=abs(rightBottom.X-leftTop.x);
intheight=abs(rightBottom.y-leftTop.y);
returnwidth*height:
}
doubleGetGirth()
{
intwidth=abs(rightBottom.x-leftTop.x);
intheight=abs(rightBottom.y-leftTop.y);
return2*(width+height):
}
private:
CMyPointleftTop,rightBottom;
};
voidmain()
{
CMyShape*myShape=NULL;
CCircle*myCircle=newCCircle(CMyPoint(5,5),10);
CRectangle*myRectangle=newCRectangle(CMy—Point(0,O),CMyPoint(30,30));
//********3********
cout<<"myCircle:"<<"Area="<<myShape-)GetArea()<<"\t"<<"Girth="<<myShape-)GetGirth( )<<endl;
//********4********
tout<<"myRectangle:"<<"Area="<<myShape->GetArea()<<"\t"<<"Girth="<<myShape->GetGirth()<<endl;
}
参考答案:
答案解析:

下列关于虚函数与函数重载区别的叙述中不正确的是(  )。

下列关于虚函数与函数重载区别的叙述中不正确的是(  )。 A.函数说明形式上不同 B.函数允许非成员函数重载,虚函数只能是成员函数 C.函数重载的调用依据参数和

查看答案

若有说明:inta[3][4];则对a数组元素的非法引用是(  )。

若有说明:inta[3][4];则对a数组元素的非法引用是(  )。 A.a[0][2*1] B.a[1][3] C.a[4-2][0] D.a[0][4]

查看答案

有如下语句序列: intk=0: do{k+=5;cout<<'$';}whilc(k<19); while(k->O)

有如下语句序列: intk=0: do{k+=5;cout<<'$';}whilc(kO)cout<<'*'; 执行上面的

查看答案

我国目前尚没有可分离交易公司债券(  )

我国目前尚没有可分离交易公司债券(  )

查看答案

下面关于虚函数的描述中正确的是(  )。

下面关于虚函数的描述中正确的是(  )。 A.虚函数是一个静态成员函数 B.虚函数是一个非成员函数 C.虚函数可以在函数说明时定义,也可以在函数实现时定义 D.

查看答案