首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,要求编写一个CMyShape类,含有求面积求周长等纯虚函数。然后编写一个CMyRectangle类和CMyCircle类继承CMyShape,并实现求面积、求周长的两个函数。在main()i~数中测
使用VC6打开考生文件夹下的源程序文件modi3.cpp,要求编写一个CMyShape类,含有求面积求周长等纯虚函数。然后编写一个CMyRectangle类和CMyCircle类继承CMyShape,并实现求面积、求周长的两个函数。在main()i~数中测
admin
2017-09-20
52
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp,要求编写一个CMyShape类,含有求面积求周长等纯虚函数。然后编写一个CMyRectangle类和CMyCircle类继承CMyShape,并实现求面积、求周长的两个函数。在main()i~数中测试得到下面的结果:
在CMyShape类构函数造内
在CMyCircle类构造函数内
在CMyShape类构造函数内
在CMyRectangle类构造函数内
myCircle:Area=3 14.1 59 Girth=62.83 19
myRectangle:Area==900 Girth==120
具体要求如下:
(1)定义求面积纯虚函数,请在注释∥********1********之处添加适当的语句。
(2)定义求周长纯虚函数,请在注释∥********2********之处添加适当的语句。
(3)请在注释∥********3********和∥********4********之处添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include
#include
#define PI 3.1415926
clas S CMyPoint
{
public:
int x,y;
CMyPoint(int tx,int ty):
X(tx),Y(ty)f}
};
class CMyShape
{
public:
CMyShape(){cout<<“在CMyShape类构造函数内”<
∥********1********
∥********2********
protected:
};
class CMyCircle:public CmyShape
{
public:
CMyCircle(CMyPoint i,double
j):CMyShape(),arcCenter(i),
radius(j){
cout<<“在CMyCircle类构造函数内”<
}
double GetArea()
{
return PI*radius*radius ;
}
double GetGirth()
{
return 2*PI*radius;
}
private:
CMyPoint arcCenter;
double radius;
};
class CMyRectangle:public
CmyShape
{
public:
CMyRectangle(CMyPoint
it,CMyPoint rb):leftTop(it),
rightBottom(rb),CMyShape(){
cout<<“在CMyRectangle类构造函数内”<
}
Double GetArea()
{
Int width=abS
(rightBottom.x—leftTop.x);
int height=abs
(rightBottom.y—leftTop.y);
Return width*height;
}
double GetGirth()
{
int width=abS
(rightB0ttom.X—leftTop.x);
int height=abs
(rightBottom.y—leftTop.y);
return 2*(width+height);
}
private:
CMyPoint leftTop,rightBottom;
};
void main()
{
CMyShape *myShape=NULL;
CMyCircle *myCircle=new
CMyCircle(CMyPoint(5,5),10);
CMyRectangle*myRectangle=
new CMyRectangle(CMyPoint(0,0),CMyPoint(30,30));
∥********3********
cout<<“myCi rcle:”<<“Area=”
<
GetArea()<<“\t”
<<“Girth=”<
GetGirth()<
∥********4********
cout<<”myRectangle:”<<”Are a=“<
GetArea()<<“\t,,
<<“Girth=”<
GetGirth()<
}
选项
答案
(1)添加语句:virtual double GetArea()=0; (2)添加语句:virtual double GetGirth()=0; (3)添加语句:myshape=mycircle; (4)添加语句:myshape=myRectanqle;
解析
类CMyPoint含有成员变量x和y,抽象基类CMyShape含有两个虚函数GetArea0和GetGirth0,分别用来求图形的面积和周长。类CMyRectangle和类CMyCircle派生于类CMyShape,并都实现了抽象父类的纯虚函数,通过这两个函数可分别求得矩形的面积和周长以及圆的面积和周长。
转载请注明原文地址:https://kaotiyun.com/show/pUAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
重载函数在调用时选择的依据中,错误的是
设有定义char str[80];以下不能将输入数据first\nsecond\n<CR>读取到数组str中的语句是
以下不能够读入空格字符的语句是
如果一个类含有一个以上的纯虚函数,则称该类为
下列数据结构中按“先进先出”原则组织数据的是
下列程序的输出结果为2,请将程序补充完整。#include<iostream>usingnamespacestd;classBase{public:______voidfun(){cout<<
插入排序算法的主要思想:每次从未排序序列中取出一个数据,插入到已排序序列中的正确位置。Insert类的成员函数sort()实现了插入排序算法,请填空。classInsert{public:Insert(int*b0,
fstream、ifstream和ofstream文件流类的成员函数______关闭文件。
下列程序的运行结果是()。#include< iostream.h>voidfun(int*a,int*b){int*kk=a;a=b;b=k}voidmain(){inta=2004,
随机试题
简述通缉令的概念及使用该文书所具备的条件。
周围血管和淋巴管疾病繁多,但是主要的病理改变是狭窄_______、______、_______、以及静脉瓣膜关闭不全等。
心烦不寐,触事易惊的不寐,多属
49岁女性,绝经2年后出现接触性出血。妇检见宫颈中度糜烂,多点活检病理检查为重度不典型增生。对该病人最恰当的处理是
属于实质性器官的是
有助于估价机构和估价人员不断提高估价水平,同时也有助于解决以后可能发生的估价纠纷,还有助于政府主管部门和行业自律性组织对估价机构进行资质审查和考核,也是为了方便今后的估价和管理的是()。
下列情况中,可以反映会计电算化系统进行数据备份和恢复重要性的有()。
一个房间里有10个人,平均年龄是27岁。另一个房间里有15个人,平均年龄是37岁。两个房间的人合在一起,他们的平均年龄是多少岁?
两个不透明的布袋A和B里面各放着6个球,其中,布袋A中的球有3个标为数字1,2个标为数字2,1个标为数字3;而布袋B中的球分别标为1、2、3、4、5、6。若某人分别从布袋A和B里取一个球,这两个球的数字之和不大于3的概率是多少?
七名候选人中有女性三人:张丽、孙美和朱萍,男性四人:赵海、王波、李田和胡庆。现要从这七名候选人中选出三人组成某委员会,且符合以下规则:孙美和王波不能同时人选,胡庆不能与女性候选人同时入选。问如果赵海和李田不入选,那么该委员会的组成有几种可能?()
最新回复
(
0
)