首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。程序通过继承关系,实现对姓名的控制。类TestClass 1实现对名字访问的接口,TestClass2实现对名字的设置和输出。程序输出为: TestClass2Name May
使用VC6打开考生文件夹下的源程序文件modi3.cpp。程序通过继承关系,实现对姓名的控制。类TestClass 1实现对名字访问的接口,TestClass2实现对名字的设置和输出。程序输出为: TestClass2Name May
admin
2015-07-20
41
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。程序通过继承关系,实现对姓名的控制。类TestClass 1实现对名字访问的接口,TestClass2实现对名字的设置和输出。程序输出为:
TestClass2Name
May
其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
(1)在类TestClassl中定义接口函数GetName,为纯虚函数。请在注释∥********1********后添加适当的语句。
(2)函数GetName20实现获得名字的缓存,但是只获得读允许操作这个缓存,请在注释∥********2********后添加适当的语句。
(3)实现TestClass2的构造函数,请在注释∥********3********后添加适当的语句。
(4)完成TestClass2的构造函数,实现对名字的处理。请在注释∥********4********后添加适当的语句。
注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
#include
class TestClassl
{
public:
∥********1********
};
class TestClass2:public TestClassl
{
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[3 2];
};
void main()
{
TestClasSl*P;
TestClass2 obj 1(“May”);
P=&obj 1;
P一>GetName();
cout<
return;
}
选项
答案
(1)添加语句:virtual void GetName():0; (2)添加语句:const char*GetName2() (3)添加语句:TestClass2(char*str) (4)添加语句:m str[i]=0 ;
解析
在VC环境下打开程序,根据题干给出的几条功能要求,对程序中给出注释下的内容逐个补全或修改。从已定源程序的main主函数开始入手,可以看出程序通过调用类TestClass和接口函数Getname实现各种输出操作。
解题思路
(1)题目l要求“在类TestClassl中定义接口函数GetName,为纯虚函数”。在C++中,在基类中用virtual声明成员函数为虚函数。纯虚函数是在声明虚函数时被“初始化”为0的函数,即“virtual void GetName0=0;”。
(2)题目2要求“函数GetName20实现获得名字的缓存,但是只获得读允许操作这个缓存”。只能引用数据成员,而不能修改,那么使用常成员函数。一般形式为,const函数类型函数名,即“const char*GetName20”。
(3)题目3要求“实现TestClass2的构造函数”。TestClass2的构造函数与类TestClass2名应该相同,而且第三个标识下的大括弧中是对字符数组str的操作,所以类TestClass2的构造函数中的参数为str,即这里补全为“TestClass2(char*str)”。
(4)题目4要求“完成TestClass2的构造函数,实现对名字的处理”,补全类TestClass2的构造函数,构造函数中的名字变量s仃对应于类TestClass中的成员变量m str,所以这里补全变量赋值操作“m str
=0;990
转载请注明原文地址:https://kaotiyun.com/show/SCNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamespacestd;intmain(){voidfunction(doubleval);doubleval;
对于下面定义的类MyClass,在函数f()中将对象成员n的值修改为50的语句应该是()。classMyClass{public:MyClass(intx){n=x;}voidSetNum(intn
若把类B定义为类A的友元类,则应在类A中加入定义语句【】。
在关系数据库中,把数据表示成二维表,每一个二维表称为【】。
软件测试过程一般按4个步骤进行:单元测试、集成测试、验收测试(确认测试)和系统测试。在程序编码阶段进行的测试通常是______。
下列______是正确的语句。
用二维表来表示实体及实体之间联系的数据模型称为______。
若有以下定义及初始化语句:inti=100;int*ip=&i;intk=*ip;并假设整型数i的地址为0x12345678,指针中的地址为0x21000000,则k的值为【】。
有以下面程序:#include<iostream>usingnamespacestd;longfib(intn){if(n>2)return(fib(n-1)+fib(n-2));
汇编程序的功能是将汇编语言所编写的源程序翻译成由【】组成的目标程序。
随机试题
下列不属于成果控制方法的是()
男性,40岁,面色苍白,鼻出血、皮肤瘀点3个月,脾肋下2cm。实验室检查:RBC3.0×1012/L,Hb60g/L,白细胞3.5×109/L,血小板30×109/L,外周血涂片示有核红细胞2个/100个白细胞。该患者最不可能的诊断是
患者,男性,68岁。尿频,夜尿多、排尿不畅4年,10小时前饮酒后突然出现小便不能自解,急诊就诊,主诉下腹部胀痛,查体:下腹膨隆,叩诊浊音,轻度压痛;直肠指检可触及前列腺增大、光滑、质韧、中央沟消失。该患者的可能诊断为
甲公司欲购乙公司生产的塔吊,因缺乏资金,遂由丙公司提供融资租赁。由于塔吊存在质量问题,吊装的物品坠落并砸伤行人丁,甲公司被迫停产修理。根据合同法律制度的规定,下列各项中,正确的有()。(2011年)
人类社会的物质性在于()。
二十世纪末,欧洲LH公司进入了中国市场。LH曾经一度拥有2000多个品牌,是快速消费品市场的国际性企业。LH的产品包括茶叶,其“Lipton”袋装红茶全球年销售额达数十亿美元,进入中国后,LH公司并购了北京茶叶总公司,希望通过公司的国际化品牌包装能力和袋装
Themethodsoftestingaperson’sknowledgeandabilityremainasprimitiveasevertheywere.Afteralltheseyears,education
Readthefollowingarticleinwhichfivepeopletalkaboutcapitalpunishmentanddeathpenalty.Forquestions61to65,matchn
Borrowingtostartabusinessisnoteasy.Gettingabankloan,particularlyforanewsmallbusiness,islikegoingthroughthe
A、Peoplearefacedwithtoomanychoices.B、Therearetoomanybannerads.C、Peoplehavetospendmoremoney.D、It’shardtolea
最新回复
(
0
)