首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义类CPlanet的保护数据成员distance和revolvePeriod,它们分别表示行星距太阳的距离和行星的公转
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义类CPlanet的保护数据成员distance和revolvePeriod,它们分别表示行星距太阳的距离和行星的公转
admin
2019-06-05
32
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
(1)定义类CPlanet的保护数据成员distance和revolvePeriod,它们分别表示行星距太阳的距离和行星的公转周期。其中,distance为double型,revolvePeriod为int型。请在注释//********1********之后添加适当的语句。
(2)定义类CEarth的构造函数CEarth(double d,intr),并在其中计算地球绕太阳公转的轨道周长。假定:circumference=2*d*3.1416 。 请 在 注 释//********2********之后添加适当的语句。
(3)定义类Earth的成员display(),用于显示所有信息。包括地球距太阳的距离,地球的公转周期,以及地球绕太阳公转的轨道周长。请在注释//********3********之后添加适当的语句。
注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
#include
using namespace std;
class CPlanet
{
protected:
//********1********
public:
CPlanet(double d,int r)
{
distance=d;
revolvePeriod=r;
}
};
class CEarth:public CPlanet{
double circumference;
public:
//********2********
CEarth(double d,int r)
{
circumference=2*d*3.1416;
)
//********3********
{
cout<<"distance=
"<
cout<<"revolution
Period="<
cout<<"revolution
circumference="<
<
}
};
void main()
{
CEarth earth(9300000,365);
earth.display();
}
选项
答案
(1)添加语句:double distance;int revolvePeriod; (2)将“CEarth(double d,int r)”补充完整为:CEarth(double d,int r):CPlanet(d,r) (3)添加语句:void display()
解析
(1)题目1要求“义类CPlanet的保护数据成员distance和revolvePeriod,它们分别表示行星距太阳的距离和行星的公转周期。其中,distance为double型,revolvePeriod为int型”,因此第1个标识下是添加数据成员distance和revolvePeriod的声明,因此第1个标识下应添加“double distance;intrevolvePeriod;”。
(2)假定:circumference=2*d*3.1416”,第2个标识下构造函数CEarth(double( d int r)完成类成员变量的初始化,在函数体内部完成了circumference的初始化,而变量distance和revolvePeriod并没有初始化,需调用基类的构造函数来初始化这两个变量,因此第2个标识下应改为“CEarth(double d,intr):CPlanet(d,r)”。
(3)第3个标识下完成成员函数display()的定义,函数display()的返回值为void,因此第3个标识下应添加“void display()”。
转载请注明原文地址:https://kaotiyun.com/show/i18p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamespacestd;classBase{protected:Base(){cout<<’Base’;}Base(char
有如下类声明:classTestClass{intn;public:TestClass(inti=0):n(i){}voidsetValue(intn0);};
有如下定义:intb[10]={1,2,3,4,5,6,7,8,9,10},*q=b;则数值为8的表达式是()。A)*q+8B)*(q+7)C)*q+=8D)q+7
请在横线处填写派生类Derived的继承方式,使得程序的输出结果为Base。#include<iostream>usingnamespacestd;classBase{public:voidprint(){c
下列关于析构函数的描述中,错误的是()。A)析构函数可以重载B)析构函数由系统自动调用C)每个对象的析构函数只被调用一次D)每个类都有析构函数
常见的软件开发方法有结构化方法和面向对象方法。对某应用系统经过需求分析建立数据流图(DFD),则应采用______方法。
已知类Myclass的定义如下classMyClass{public:voidfunction1(MyClass&C){cout<<c.data;)staticvoidfunction2(MyClass&C)
己知函数f的原型是“voidf(int*x,int&y);”,变量v1、v2的定义是“intv1,v2;”,下列调用语句中,正确的是()。A)f(v1,v2);B)f(v1,&v2);C)f(&v1,v2);D)f(
假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为
随机试题
A.孕母有菌血症B.阴道细菌上行C.脐部感染D.消化道入侵E.黏膜破损新生儿败血症的产时感染的途径是
在下列各种心肌细胞动作电位的形成过程中,有Ca2+内流参与的是
突然发作上腹部钻顶样疼痛是胆道蛔虫病的典型表现。()
项目风险分解的()是按项目建设的阶段对风险进行分解。
下列有关账户的表述中,不正确的是()。
在配送系统整体规划中,()的设计与规划是最关键的。
3,8,23,68,(),608
A、 B、 C、 D、 B
在整个结构化方法的出发点和实施步骤中,十分强调用户的______。
有如下程序:#includeusingnamespacestd;classMyClass{public:MyClass(){cout
最新回复
(
0
)