首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。程序通过继承关系,实现对姓名的控制。类TestClass1实现对名字访问的接口,TestClass2实现对名字的设置和输出。 程序输出为: TestClass2Name May
使用VC6打开考生文件夹下的源程序文件modi3.cpp。程序通过继承关系,实现对姓名的控制。类TestClass1实现对名字访问的接口,TestClass2实现对名字的设置和输出。 程序输出为: TestClass2Name May
admin
2017-03-22
26
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。程序通过继承关系,实现对姓名的控制。类TestClass1实现对名字访问的接口,TestClass2实现对名字的设置和输出。
程序输出为:
TestClass2Name
May
其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
(1)在类TestClass1中定义接口函数GetName,为纯虚函数。请在注释//********1********后添加适当的语句。
(2)函数GetName2()实现获得名字的缓存,但是只获得读允许操作这个缓存,请在注释
//********2********后添加适当的语句。
(3)实现TestClass2的构造函数,请在注释
//********3********后添加适当的语句。
(4)完成TestClass2的构造函数,实现对名字的处理。请在注释//********4********后添加适当的语句。
注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
#include
Class TestClass1
{
public:
//********1********
};
class TestClass2:public TestClass1
{
public:
Void GetName()
{
cout<<"TestClass2Name"
<
}
//********2********
{
return m str;
}
//********3********
{
int i;
for(i=0;str
!=0;i++]
m str
= str
;
//********4********
}
private:
char m str[32];
};
Void main()
{
TestC2assl*p;
TestClass2 obj1("Hay");
P=&obj1;
P->GetName();
cout<
return;
}
选项
答案
(1)添加语句:virtual void GetName()=0; (2)添加语句:const char*GetName2() (3)添加语句:TestClass2(char*str) (4)添加语句:m str[i]=0;
解析
(1)题目1要求“在类TestClass1中定义接口函数GetName,为纯虚函数”。在C++中,在基类中用virtual声明成员函数为虚函数。纯虚函数是在声明虚函数时被“初始化”为0的函数,即“virtualvoid GetName()=0:”。
(2)题目2要求“函数GetName20实现获得名字的缓存,但是只获得读允许操作这个缓存”。只能引用数据成员,而不能修改,那么使用常成员函数。一般形式为,const函数类型函数名,即“const char*GetName2()”。
(3)题目3要求“实现TestClass2的构造函数”。TestClass2的构造函数与类TestClass2名应该相同,而且第三个标识下的大括弧中是对字符数组str的操作,所以类TestClass2的构造函数中的参数为str,即这里补全为“TestClass2(char*str)”。
(4)题目4要求“完成TestClass2的构造函数,实现对名字的处理”,补全类TestClass2的构造函数,构造函数中的名字变量s仃对应于类TestClass中的成员变量m str,所以这里补全变量赋值操作“m_str
=0;”。
转载请注明原文地址:https://kaotiyun.com/show/s9Ap777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
函数定义为Fun(int&i),变量定义n=100.则下面调用正确的是
下列对字符数组进行初始化的语句正确的是.
下面关于虚函数的描述中正确的是
下列关于关系运算的叙述中正确的是
在下面横线上填上适当的语句,完成程序。#include<iostream>usingnamespacestd;classBase{intx;public:
假定用户没有给一个名为MyClass的类定义析构函数,则系统为其定义的默认析构函数首部形式为上【】。
如果表达式x*y+z中,“*”是作为友元函数重载的,“+”是作为友元函数重载的,则该表达式还可为
有如下程序:#includeusingnamespacestd;classAA{public:AA(){tout
有如下模板声明:templateclassA;下列声明中,与上述声明不等价的是
在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是
随机试题
能力
声频在20000Hz以上称之为
3岁男孩,发热、咳嗽、肺部可闻及干性啰音
下列胃酸的生理作用叙述,哪项是错的
主治医生甲某,在负责为病人乙某治疗的过程中,与病人家属发生争执,后病人发病,甲某不闻不问,病人家属百般哀求,甲某称,“平时你们不是什么都慌吗?现在来找我干嘛?”结果病人乙某因并发症死亡。则对于甲某的行为:()
财务评价的动态指标有()等。
下列各项中,不能行使票据追索权的是()。
下列资产负债表项目中,其“期末数”可以根据总账科日期末余额直接填列的有()。
文天祥《过零丁洋》“_________,_________”这两句诗以形象的比喻描写国家和个人的命运,用“风飘絮”比喻无可挽回的败局,“雨打萍”比喻诗人一生沉浮的政治生涯。
在短期内,根据内外均衡分析的新框架(P-e模型),内外均衡失调包括哪几种?其自动调节机制是怎样的?为什么还有必要进行适当的政策调节?
最新回复
(
0
)