首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,要求编写一个CMyShape类,含有求面积求周长等纯虚函数。然后编写一个CMyRectangle类和CMyCircle类继承CMyShape,并实现求面积、求周长的两个函数。在main()i~数中测
使用VC6打开考生文件夹下的源程序文件modi3.cpp,要求编写一个CMyShape类,含有求面积求周长等纯虚函数。然后编写一个CMyRectangle类和CMyCircle类继承CMyShape,并实现求面积、求周长的两个函数。在main()i~数中测
admin
2017-09-20
55
问题
使用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://www.kaotiyun.com/show/pUAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
重载函数在调用时选择的依据中,错误的是
当使用fstram流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为
以下有关类与结构体关系的叙述不正确的是
以下不属于构造函数特征的是。
将7个数据进行插入排序,在最坏情况下需要比较的次数是
有如下程序:#include<iostream>usingnamespacestd;classPARENT{public:PARENT(){cout<<"PARENT";}
类中数据成员和成员函数的默认访问级别为______。
如果一个模板声明列出了多个参数,则每个参数之间必须使用逗号隔开,每个参数都必须使用()关键字来修饰。
已知递归函数fun的定义如下:intfun(intn){if(n<=1)return1;//递归结束情况elsereturnn*fun(n-2);//递归}则函数调用语句fun(5)
随机试题
通货膨胀
一位住院患者,住院15日后出现类似伤寒症状,病情较轻、发热38℃,腹泻,腹部疼痛,粪便培养鼠伤寒沙门菌阳性。该患者发病前这个病室有一类似症状患者,两人有食物交换。伤寒患者住在传染病房治疗,此时应采取
下列关于复合树脂修复术中洞形预备特点的描述中,错误的是
患儿,9个月。右睾丸未下降阴囊内,查右阴囊空虚未触及睾丸,左侧发育正常患儿2岁仍未下降应采取的治疗是
下列哪一行为应以玩忽职守罪论处?
如图所示,一均质球重W=100kN,放在两个相交的光滑斜面之间。斜面AB的倾角为α=45。,斜面BC的倾角为β=60。,则两斜面的反力FD和FE为()。
宏大集团公司因经济效益下降,亏损已成定局,董事长赵某授意财务科科长刘某在年度财务报告中做一些技术处理,刘某认为“对外报送的财务报告的真实性、完整性由单位负责人承担责任,我服从就行了”,便虚拟了几笔销售业务,使公司财务报表由亏变盈。经财政部门签字并作了相应的
下面人物与“完璧归赵”密切相关的是()。
玛格丽特.米切尔的畅销书既不是泥浆也不是高等艺术,这部作品足够获得普利策奖,但是即使是普通的读者也能感受到它那感伤的情节不能够和伟大的作品___________。像《飘》这种___________了艺术、商业、量产化的书籍,“通俗”是它最好的定义词。依次填
ThepoorreceptiononyourTVisprobablyduetooutside______.
最新回复
(
0
)