首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,要求编写一个CMyShape类,含有求面积求周长等纯虚函数。然后编写一个CMyRectangle类和CMyCircle类继承CMyShape,并实现求面积、求周长的两个函数。在main()i~数中测
使用VC6打开考生文件夹下的源程序文件modi3.cpp,要求编写一个CMyShape类,含有求面积求周长等纯虚函数。然后编写一个CMyRectangle类和CMyCircle类继承CMyShape,并实现求面积、求周长的两个函数。在main()i~数中测
admin
2017-09-20
30
问题
使用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://jikaoti.com/ti/0Nt0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
已知语句int m=10;则下列引用的表示中正确的是
将7个数据进行插入排序,在最坏情况下需要比较的次数是
在MyClass类的定义中,对赋值运算符;进行重载。请将横线处缺失的部分补充完整。______MyClass::operator=(constMyClass&rhs){if(this==&rhs)return*t
有如下程序:#include<iostream>usingnamespacestd;classPARENT{public:PARENT(){cout<<"PARENT";}
下列程序的输出结果为2,请将程序补充完整。#include<iostream>usingnamespacestd;classBase{public:______voidfun(){cout<<
软件工程研究的内容主要包括______技术和软件工程管理。
在面向对象程序设计中,从外面看只能看到对象的外部特征,而不知道也无须知道数据的具体结构以及实现操作的算法,这称为对象的______。
有如下的类模板定义:template<typenameTYPE>classMyClass{TYPEn;public:MyClass(TYPEk);};其中构造函数MyClass用的值初始化
有如下程序:#include"iostream.h"voidmain(){intx=1,a=0,b=0;switch(x){caseO:b++;easel:a++;
下列程序的运行结果是()。#include< iostream.h>voidfun(int*a,int*b){int*kk=a;a=b;b=k}voidmain(){inta=2004,
随机试题
下列关于生态系统的说法中,错误的是()
论述影响群落演替的主要因素。
患者,女,75岁,高血压痛30余年,平日血压控制在140/90mmHg,糖尿病4年,应用降糖药物控制血糖。近半年来常于劳累时感心前区闷痛,持续1~2分钟,休息后缓解,未予诊治。4小时前突感胃痛伴烧心感,伴大汗,恶心呕吐1次,呕吐物为胃内容物。急诊入院。查B
关于先兆子宫破裂的治疗方法,正确的有
男性,35岁。双下肢水肿2周。查体:血压130/80mmHg,双下肢轻度凹陷性水肿。尿常规:蛋白(++++),红细胞(++)。Scr122~mol/’L。血浆白蛋白28g/t。
当山坡上的填方路基有斜坡下滑倾向时应采用()。[2013年真题]
刘老师正准备制作家长会通知,根据考生文件夹下的相关资料及示例,按下列要求帮助刘老师完成编辑操作:按照中文的行文习惯,对家长会通知主文档Word.docx中的红色标题及黑色文本内容的字体、字号、颜色、段落间距、缩进、对齐方式等格式进行修改,使其看起来美观
Whydoteenagegirlsavoidmathematicscourses?Girlsdon’twanttoachievehigherthanboysbecause______.
Ifonlyyou______JackiewhatIsaid!
Theworldisnotonlyhungry,butthirstyforwater.Thatmayseem【B1】______toyou,sincenearly75%oftheearth’ssurfaceis【B
最新回复
(
0
)