首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义类CPlanet的保护数据成员distance和revolvePeriod,它们分别表示行星距太阳的距离和行星的公转
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义类CPlanet的保护数据成员distance和revolvePeriod,它们分别表示行星距太阳的距离和行星的公转
admin
2015-05-30
14
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
(1)定义类CPlanet的保护数据成员distance和revolvePeriod,它们分别表示行星距太阳的距离和行星的公转周期。其中,distance为double型,revolvePeriod为int型。请在注释//********1********之后添加适当的语句。
(2)定义类CEarth的构造函数CEarth(double d,int r),并在其中计算地球绕太阳公转的轨道周长。假定:circumference=2*d*3.1416。请在注释//********2********之后添加适当的语句。
(3)定义类Earth的成员display(),用于显示所有信息。包括地球距太阳的距离,地球的公转周期,以及地球绕太阳公转的轨道周长。请在注释//********3********之后添加适当的语句。
注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
l #include
2 using namespace std ;
3 class CPlanet
4 {
5 protected:
6 //********1********
7
8 public:
9 CPIanet(double d,int r)
10 {
11 distance=d;
12 revolvePeriod=r ;
13 }
14 };
15 clasS CEarth:public CPlanet{
16 double circumference ;
17 public:
18 //********2********
19 CEarth(double d,int r)
20 {
21 circumference=2*d*3.1416 ;
22 }
23 //********3********
24
25 {
26 cout<<”diStance="<
27 cout<
Period="<
28 Cout<<"revolution
circumference="<
29 }
30 };
31 void main()
32 {
33 CEarth earth(9300000,365);
34 earth.display(),
35 }
选项
答案
(1)添加语句:double distance;int revolvePeriod; (2)将“CEarth(double d,int r)”补充完整为:CEarth(double d,int r):CPIanet(d,r) (3)添加语句:void display()
解析
程序中定义了类CPlanet和CEarth,CEa~h公有派生于类CPlanet。类CPlanet含有保护成员变量distance和revolvePeriod,它们分别表示行星距太阳的距离和行星的公转周期,类CEarth含有成员变量circumference,表示地球绕太阳公转的轨道周长,其构造函数CEarth(double d,int r)计算处地球绕太阳公转的轨道周长赋值给circumference,display()用于显示所有信息。
[解题思路]
(1)题目1要求“义类CPlanet的保护数据成员distance和revolvePeriod,它们分别表示行星距太阳的距离和行星的公转周期。其中,distance为double型,revolvePeriod为int型”,因此第1个标识下是添加数据成员distance和revolvePeriod的声明,因此第1个标识下应添加“doubledistance;int revolvePeriod;”。
(2)假定:circumference=2 d 3.1416”,第2个标识下构造函数CEarth(double d,int r)完成类成员变量的初始化,在函数体内部完成了circumference的初始化,而变量distance和revolvePeriod并没有初始化,需调用基类的构造函数来初始化这两个变量,因此第2个标识下应改为“CEarth(double d,int r):CPlanet(d,r)”。
(3)第3个标识下完成成员函数displayO的定义,函数display()的返回值为void,因此第3个标识下应添加“void display()”。
转载请注明原文地址:https://jikaoti.com/ti/hnE0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在结构化设计方法中生成的结构图(SC)中,带有箭头的连线表示()
以下()特征不是面向对象思想中的主要特征。
在深度为5的满二叉树中,叶子结点的个数为()。
如果表达式++i*k中的“++”和“*”都是重载的非静态成员运算符,则采用运算符函数调用格式,该表达式还可表示为=______。
在长度为n的顺序表的第i(1≤i≤n+1)个位置上插入一个元素,元素的移动次数为______。
已知outfile是一个输出流对象,要想将outfile的文件指针定位到当前位置之前321字节处,正确的函数调用语句是______。
以下函数模板max的功能是返回数组a中最大元素的值。请将横线处缺失部分补充完整。template<typenameT>Tmax(Ta[],intn){Tm=a[0];for(inti=1;i<n;i++)
已知在函数func中语句this->ff=0;与语句ff=O;的效果完全相同。对于这一现象,下列表述中错误的是
有关析构函数的说法不正确的是()。
随机试题
便秘的病因病机有()(2011年第168题)
Forourhomeworktonight,wehavetowritea______(describe)ofthestreetwherewelive.
甲公司与乙公司订立一份总价款50000元的买卖合同。合同订立后,甲公司依约最多交付定金()
患者,男,60岁。农民,间断性尿急、尿频、尿痛及排尿困难3年加重l周,伴发热及两侧肾区酸胀不适。抗炎治疗后体温正常而症状无明显缓解。尿检:红细胞(++),白细胞(+)。声像图:双肾盂扩张达3cm,双输尿管上中段增宽,膀胱极度充盈,膀胱壁毛糙,膀胱三角区见2
宫颈癌的确诊方法下列哪项最可靠
下列关于抗癫痫药用药的说法,不正确的是()。
右心衰竭是指
甲公司向乙公司开具一张经A银行承兑的银行承兑汇票,乙公司持有到期后在法定期限内向银行提示付款,此时甲公司在A银行账户中的资金不足以支付票据款,本着办理支付结算业务中“银行不垫款”的原则,A银行有权拒绝向乙公司支付票据款。()
按照现行税收征管制度的一般规定,纳税申报程序是()。
一般来说,信贷平均损失比率越高,区域风险()。
最新回复
(
0
)