首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 其中:定义了类circle和column,column类由circle类protected派生,但是两个类的定义并不完整,请按
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 其中:定义了类circle和column,column类由circle类protected派生,但是两个类的定义并不完整,请按
admin
2015-05-30
43
问题
使用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全国计算机二级
相关试题推荐
下列语句中,错误的是()。
数据库系统的基础是()。
以下程序的输出结果是()。#include<iostream.h>main(){intm=5;if(m++>5)cout<<m;elsecout<<m--;}
下面程序的输出结果是()。#include<iostream>usingnamespacestd;intmain(){intn=10;while(n>7){n--;cout<<
冒泡排序在最好情况下时间复杂度为【】。
有如下的对类“X”的说明,其中______是错误的。classX{
类模板的使用实际上是将类模板实例化为一个具体的______。
以下函数模板max的功能是:返回数组a中最大元素的值。请将横线处缺失部分补充完整。template<typenameT>Tmax(Ta[],intn){Tm=a[0];for(inti=1;i<n;i++)
关于在调用模板函数时实参的使用,下列表述中正确的是
随机试题
男,54岁。患慢性肾小球肾炎2年,近因感冒发热,出现恶心,腹部不适,血压23/14kPa(173/105mmHg)。GFR50m1/min,Scr360μmol/L,血红蛋白90g/L,尿蛋白(+),尿沉渣有红细胞、白细胞、颗粒管型。诊断为慢性肾衰竭收住院
下列哪项不属于牙骨质龋病理形态
雇主组织的主要形式包括()。
______是我国现存年代最早的楼阁式砖塔。
从组织内部权力配置关系来看,“美国模式”是以学术权力为主导的高等学校权力模式。()
新课程改革于________年在全国38个试验区启动。
马克思主义观点认为,教育起源于()
设函数f(x)在(一1,1)内具有二阶连续导数,且满足f’(0)=1,则
NEWDESIGN,MOREBENEFITS HereisyournewCashpointCard.Youcanuseitinexactlythesamewayasyourpres
A、Shegavehimadirtylookandfinallyturnedaroundtogethiscoffee.B、Shepracticallythrewthecoffeeathim.C、Shegaveh
最新回复
(
0
)