首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 其中:定义了类circle和column,column类由circle类protected派生,但是两个类的定义并不完整,请按
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 其中:定义了类circle和column,column类由circle类protected派生,但是两个类的定义并不完整,请按
admin
2015-05-30
57
问题
使用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
2 const double pi=3.14 16 ;
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="<
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 col(5.0,10.0);
45 co1.print();
46 return 0 ;
47 }
选项
答案
(1)添加语句:double r,area ; (2)添加语句:Circle() (3)添加语句:column(double radius,doubleheight) (4)添加语句:cout<<"height="<
解析
本题的功能是计算圆的面积和周长。在VC环境下打开程序,根据题干给出的几条功能要求,对程序中给出注释下的内容逐个补全或修改。从已定源程序的main主函数开始入手,可以看出程序通过调用类和成员函数实现各种输出操作。
[解题思路]
(1)题目1要求“定义类circle的保护数据成员函数r和area,它们都是double型的数据”。保护成员与private和public一样是用来声明成员的访问权限的。在已有程序circle类中的protected:区域,添加变量r和area的定义,即“doubler,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="<
转载请注明原文地址:https://kaotiyun.com/show/PJNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下类定义。classMyClass{private:intid;chargender;char*phone;public:MyClass():id(0),g
从键盘上输入XXYYZZXYZWXP和X,以下程序的输出结果是【】。#include<iostream.h>#include<string.h>voidmain(){char*str,ch;intc
类MyClass的定义如下:classMyClass{public:MyClass(){}MyClass(inti){value=newint(i);}int*value;
假定MyClass为一个类,那么下列的函数说明中,()为该类的析构函数。
下面叙述错误的是()。
下列类的定义中,有()处语法错误。classBase{publiC:Base(){}Base(inti){data=i;}ptivate:
对于顺序存储的队列,存储空间大小为n,头指针为F,尾指针为R。若在逻辑上看成一个环,则队列中元素的个数为______。
针对数组定义intdata[10];,下列表述中错误的是______。
类模板的使用实际上是将类模板实例化为一个具体的______。
operator是运算符重载时必须使用的关键字,它和被重载的运算符连在一起,作为运算符函数的专用函数名,务必把该函数说明为【】的。
随机试题
态度行为意向成分是指个体对客体的()
判断手卫生消毒合格的标准是
动脉粥样硬化的危险因素有()。
我国《合同法》认定违约行为采用的是()责任原则。
操作系统中的进程与处理器管理的主要功能是()。
天文照相用未曝光平面软片,规格200×250mm
甲、乙两数之和加上甲数是220,加上乙数是170,甲、乙两数之和是()。
《权利请愿书》
下列说法错误的是()。
设,问a,b,c为何值时,向量组α1,α2,α3与β1,β2,β3是等价向量组?向量组等价时,求α1由β1,β2,β3线性表出的表出式及β1由α1,α2,α3线性表出的表出式.
最新回复
(
0
)