首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了多个类,其中定义的类并不完整,按照要求完成下列 操作,将类的定义补充完整;使其输出如下: TC2 TC3 TC1 (1)类TC2公共继承于TC1,请在注释1后
用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了多个类,其中定义的类并不完整,按照要求完成下列 操作,将类的定义补充完整;使其输出如下: TC2 TC3 TC1 (1)类TC2公共继承于TC1,请在注释1后
admin
2013-11-15
63
问题
用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了多个类,其中定义的类并不完整,按照要求完成下列
操作,将类的定义补充完整;使其输出如下:
TC2
TC3
TC1
(1)类TC2公共继承于TC1,请在注释1后添加适当的语句。
(2)print函数为虚函数,请在注释2后添加适当的语句。
(3)修改语句,使得p指定对象obj3,请在注释3后添加适当的语句。
(4)修改语句,利用p调用print函数,完成输出信息,在注释4后添加适当的语句。
注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。
试题程序:
#include(iostream)
using namespace std;
class TC1
{
public:
void print()
{
cout<<"TC1"<
}
};
//* * * * * * * * 1 * * * * * * * *
class TC2
{
public:
//* * * * * * * * 2 * * * * * * * *
void print()
{
cout<<"TC2"<
}
};
class TC3:public TC2
{
public:
void print()
{
cout<<"TC3"<
}
};
int main()
{
TC2 obj2;
TC3 obj3;
TC1*p;
obj2.print();
obj3.print();
//* * * * * * * * 3 * * * * * * * *
p:obj3;
//* * * * * * * * 4 * * * * * * * *
p.print();
return 0;
}
选项
答案
(1)将“class TC2”补充完整为“class TC2:public TC1”。 (2)将“void print()补充完整为“virtual void print()”。 (3)将“p=obj3;”修改为“p=&obj3;”。 (4)将“p.print();”修改为“p->print();”。
解析
本题中第1处要求“类TC2公共继承于TC1”。从已有的类产生一个新的子类,成为类的派生。声明派生类的一般形式为“class派生类名:[继承方式]基类名”。根据题目中的要求以及派生类的.般形式,在第1处添加语句“class TC2:public TC1”。
第2处要求“Print函数为虚函数”。在C++中,用virtual声明的函数为虚函数,因此第2处的语句应修改为“Virtual void print()”。
第3处要求“使得P指定对象obj3”。p为指针变量,obj3为类的对象,将一个指针变量指向另一个变量,只要把被指向的变量的地址赋给指针变量即可。取对象obj3地址的语句为&obj3,所以这里补全语句为“p=&obj3;”。
第4处要求“利用p调用print()函数”。C++中用“-”运算符实现成员访问,因此调用print函数,应将第4处的语句修改
转载请注明原文地址:https://kaotiyun.com/show/wHNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
对下面的程序,说法正确的是()。#include<iostream>usingnamespacestd;voidsum(floatm,floatn){floatsum=m+n;}main()
利用继承能够实现【】。这种实现缩短了程序的开发时间,促使开发人员复用已经测试和调试好的高质量软件。
下面程序的运行结果为()。#include<iostream.h>voidswap(int&a,intb){inttemp;temp=a++;a=b;b=temp;}voidmain(){inta=2,b=3;swap(a,b);
模板是实现类属机制的一种工具,其功能非常强大,它允许用户构造类属类,即()。
下面程序运行后输出的结果是【】。#include<iostream>usingnamespacestd;classexample{constintm;public:example(inti)
在C++中,打开一个文件,就是将这个文件与一个【】建立关联,关闭一个文件,就是取消这种关联。
定义如下一维数组:inta[5],*p;,则下列描述错误的是()。
设有如下关系表:则下列操作中正确的是()。
下列对基类和派生类关系的描述中,错误的是______。
下面叙述错误的是()。
随机试题
血小板的不可逆性聚集是由于
在学校门口遇到这种情况要做好随时停车的准备。(图3.13.4)
品牌经营战略
AmericanCultureAmericancultureisuniquebecauseitis【C1】______(cultivate),formedanddevelopedundercertaincondition
A.脾曲结肠癌,DukesC期B.乙状结肠癌,DukesA1期C.横结肠癌,DukesA2期D.乙状结肠癌,DukesD期E.降结肠癌,DukesB期根治术后5年生存率为65%的是
已知某工程双代号网络计划的计算工期为130天。如果计划工期为135天,则关键线路上()。
一般情况下,微波天馈线系统包括()。
下列资料中,会计核算软件能打印的有()。
Beingamanhasalwaysbeendangerous.Thereareabout105malesbornforevery100females,butthisratiodropstonearbalanc
Archimedesismostwell-knownforonespecificideathathecameupwith."Archimedes’sPrinciple."statesthatasolidobjec
最新回复
(
0
)