首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 其中:定义了类circle和column,column类由circle类protected派生,但是两个类的定义并不完整,请按
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 其中:定义了类circle和column,column类由circle类protected派生,但是两个类的定义并不完整,请按
admin
2018-10-23
30
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
其中:定义了类circle和column,column类由circle类protected派生,但是两个类的定义并不完整,请按照以下的要求,将程序补充完整。
(1)定义类circle的保护数据成员函数r和area,它们都是double型的数据,请在注释//********1********后完成。
(2)添加类circle的无参数的构造函数,使得类
circle对象的r默认值为0,请在注释//********2********后完成。
(3)添加派生类column的构造函数的定义,使得参数为double型的height和radius并将其分别赋给数据成员h和基类的r请在注释//********3********之后完成。
(4)完成派生类column的成员函数print()的定义,请在注释//********4********之后完成,使得输出为:
radius=5 area=78.54
height=10 vol=785.4
注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
1 #include<iostream.h>
2 const double pi=3.1416;
3 class circle
4 {
5 protected:
6 //********1********
7
8 public:
9 //********2********
10
11 {
12 r=0.0;
13 }
14 circle(double radius)
15 {
16 r=radius;
17 }
18 void print()
19 {
20 area=r*r*pi;
21 cout<<’’radius=’’<<r<<’’<<’’area=’’<<area<<end1;
22 }
23 };
24 class column:protected circle
25 {
26 protected:
27 double h;
28 public:
29 //********3********
30
31 {
32 h=height;
33 r=radius;
34 }
35 void print()
36 {
37 circle::print();
38 //********4********
39
40 }
41 };
42 int main()
43 {
44 column co1(5.0,10.0);
45 co1.print();
46 return 0;
47 }
选项
答案
(1)添加语句:double r,area; (2)添加语句:circle() (3)添加语句:column(double radius,double height) (4)添加语句:cout<<’’height=’’<<h<<’’<<’vo1=’’ <<area*h<<end1;
解析
本题的功能是计算圆的面积和周长。在VC环境下打开程序,根据题干给出的几条功能要求,对程序中给出注释下的内容逐个补全或修改。从已定源程序的main主函数开始入手,可以看出程序通过调用类和成员函数实现各种输出操作。
(1)题目1要求“定义类circle的保护数据成员函数r和area,它们都是double型的数据”。保护成员与private和public一样是用来声明成员的访问权限的。在已有程序circle类中的protected:区域,添加变量r和area的定义,即“double r,area;”。
(2)题目2要求“添加类circle的无参数的构造函数,使得类circle对象的r默认值为0”。在C++中,构造函数是一种特殊的成员函数,它的名字与类同名,没有参数的构造函数一般形式为:构造函数名(),所以这里添加“circle()”。
(3)题目3要求“添加派生类column的构造函数的定义”。同(2),另外带参数的构造函数的一般格式为:构造函数名(类型1形参1,类型2形参2,……),所以这里添加“column(double radius,double height)”。
(4)题目4要求“完成派生类column的成员函数print()的定义”。根据题干中输出结果,知道第一个输出值为height,第二个输出值为vol,即area*h,所以这里添加 “cout<<”height =’’<<h<<’’<<’’vol=’’<<area?*h<<end1;”。
转载请注明原文地址:https://kaotiyun.com/show/e5Ap777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
已知语句intm=10;则下列引用的表示中正确的是
执行下面程序中的输出语句后,a的值是main(){inta;cout<<(a=3*5,a*4,a+5);}
数据库恢复是将数据库从______状态恢复到某一已知的正确状态。
下面程序的结果是()。#include<iostream.h>classA{inta;public:A():a(1){}voidshowa(){cout<<a;}};Cl
有以下程序:#include<iostream.h>voidfun(inta,mtb,intC){a=456,b=567,c=678;}voidmain(){intx=10,y=20,z=30;
下列有关拷贝构造函数的描述中错误的是()。
下列关于C++函数的说明中,正确的是()。
请将下列类定义补充完整。classBase{public:voidfun(){cout<<"Base∷fun"<<end1;}};c1assDehVed:publicBase{public:
有下列程序:#include<iostream>usingnamespacestd;classTestClass1{public:TestClass1(){cout<<"A";}
若有如下变量定义和函数调用语句:inta=5;fun(&A);则执行下面函数后正确的输出结果是()。voidfun(int*x){cout<<++*
随机试题
10岁女孩,发热3周,查体:神清,胸腹部可见环形红斑,心率160/min,奔马律,血沉60mm/h,OT(-),血培养(-),该患儿的可能诊断是
采用单纯外固定法治疗上颌骨骨折时,通常的颌间固定时间是
下列哪种情形属于想象竞合犯?
由于建设、勘察、设计、施工、监理等单位违反工程质量有关法律法规和工程量建设标准,使工程生产结构安全、重要使用功能等方面的缺陷,造成人员伤亡或者重大经济损失的称为()。
下列行为中,违反《银行业从业人员职业操守》“监督规避”的是()。
下列各项中,属于代理记账业务范围的有()。
Forthefirsttimeindecades,doctorshavebegunmakingmajorchangesinthetreatmentoflungcancer,basedonresearchprovin
设有学生表student(学号,姓名,性别,出生日期,院系)、课程表course(课程号,课程名,学时)和选课表score(学号,课程号,成绩),查询“计算机系”学生的学号、姓名、学生所选课程的课程名和成绩,正确的命令是
Thinktwicenexttimesomeoneasksyoufor"fiveminutesofyourtime"itcouldcostyoumorethanyouthink.ABritishprofesso
Themostobviousdifferencebetweenrealessaysandthethingsonehastowriteinschoolisthatrealessaysarenotexclusivel
最新回复
(
0
)