首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 其中:定义了类circle和column,column类由circle类protected派生,但是两个类的定义并不完整,请按照以下的
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 其中:定义了类circle和column,column类由circle类protected派生,但是两个类的定义并不完整,请按照以下的
admin
2016-10-28
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
注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
#include<iostream.h>
const double pi=3.1416;
class circle
{
protected:
//********1********
public:
//********2********
{
r=0.0;
}
Circle(double radius)
{
r=radius;
}
void print()
{
area=r*r* pi;
cout<<"radius="<<r<<’ ’<<"area="<<area<<endl;
}
};
class column:protected circle
{
protected:
double h;
public:
//********3********
{
h=height;
r=radius;
}
void print()
{
circle::print();
//********4********
}
};
int main()
{
column col(5.0,10.0)j
col.print();
return0;
}
选项
答案
(1)添加语句:double r,area; (2)添加语句:circle() (3)添加语句:column(double radius,double height) (4)添加语句:cout<<"height="If<<h<<’ ’<<"vol="<<area*h<<endl;
解析
(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(doubleradius,doubleheight)”。
(4)题目4要求“完成派生类column的成员函数print()的定义”。根据题干中输出结果,知道第一个输出值为height,第二4个输出值为vol,即area*h,所以这里添加“cOut<<”height="<<h<<’ ’<<"vol="<<area*h<<endl;”。
转载请注明原文地址:https://jikaoti.com/ti/uFE0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
每个C++程序中都必须有且仅有一个
有以下程序:#include<iostream>usingnamespacestd;classCFactorial{private:intvalue;intfact
有以下程序:#include<iostream>#include<fstream>usingnamespacestd;intmain(){fstreamfile;fil
有以下程序#include<iostream>usingnamespacestd;staticintdays[]={31,28,31,30,31,30,3l,31,30,31,30,31};classdate
在C++中,打开一个文件,就是将这个文件与一个【】建立关联,关闭一个文件,就是取消这种关联。
以下程序的执行结果是______。#include<iostream.h>int&max(int&x,int&y){return(x>y?x:y);}
若要打开二进制文件binfile写方式,输出到文件尾则应为:ofstreambfile("binfile",______);
通过使用new和delete两个运算符进行的分配为【】存储分配。
对于模板定义关键字class和typename说法不正确的是
如果有以下定义及初始化:inta=3,*p=&a;则由此可以推断,*p的值是()。
随机试题
Whatmakesamanspend22hoursinfreezingwateror14daysaloneinahot-airballoon?AdventurerSteveFossettknows.Histas
产品线是指()
银行业金融机构应保护消费者的隐私权,有权拒绝任何单位和个人查询、冻结和扣划。()
下列事项中属于会计估计变更的是()。
下列关于长期偿债能力比率的说法中,正确的是()。
Inasense,thenewprotectionismisnotprotectionismatall,atleastnotinthetraditionalsenseoftheterm.Theoldprotec
国务院办公厅明确把信息网络分为()三类。
Theselow-budgetanimatedfilmsarethemainsourceof______ofthisindependentstudio.
Amanualworkerprobablyearnsmoremoneythanamanwhodoesmentallabor.Forexample,abrick-layercanearnmoremoneythan
Ifyoucan’taffordtopayrentinadvance,therearetwotypesofloanyoumaybeabletogetfromthesocialfund.
最新回复
(
0
)