首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了多个类,但类不能达到输出要求,按照定义的输出修改函数,使得输出如下: TestClass3 TestClass2 TlestClass1 其中定义的类并不完整,按照要求完成下列操作,将类的定
用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了多个类,但类不能达到输出要求,按照定义的输出修改函数,使得输出如下: TestClass3 TestClass2 TlestClass1 其中定义的类并不完整,按照要求完成下列操作,将类的定
admin
2016-10-28
72
问题
用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了多个类,但类不能达到输出要求,按照定义的输出修改函数,使得输出如下:
TestClass3
TestClass2
TlestClass1
其中定义的类并不完整,按照要求完成下列操作,将类的定义补充完整。
(1)类TestClass2公共继承于TestClass1,请在注释//********1********后添加适当的语句。
(2)print函数为虚函数,请在注释//********2********后添加适当的语句。
(3)修改语句,使得p指定对象obj3,请在注释//********3********后添加适当的语句。
(4)修改语句,利用p调用print()函数,完成输出信息,注释//********4********后添加适当的语句。
注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。
#include<iostream>
using namespace std;
C1ass TestClass1
{
public:
void print(){
cout<<"TestClass1"<<endl;
}
};
//********1********
class TeStClass2
{
public:
//********2********
void print()
{
cout<<"TestClass2"<<endl;
}
};
class TestClass3:public TestClass2
{
public:
void print()
{
cout<<"TestClass3"<<endl;
}
};
int main()
{
TestClass2 obj2;
TestClass3 obj3;
TestClass1*p;
obj2.print();
obj3.print();
//********3********
p=obj3;
//********4********
p.print();
return0;
}
选项
答案
(1)将“class TestClass2”补充完整为:class TestClass2:public TestClass1 (2)将“voidprint()”补充完整为:virtual void print() (3)将“p=obj3;”修改为:p=&obj3; (4)将“p.print();”修改为:p->print();
解析
(1)题目1要求“类TestClass2公共继承于TestClass1”。从已有的类产生一个新的子类,成为类的派生。声明派生类的一般形式为:class派生类名:[继承方式]基类名。根据题目中的要求以及派生类的一般形式,第1个标识下添加语句“class TestClass2:public TestClass1”。
(2)题目2要求“print函数为虚函数”。在C++中,用virtual声明的函数为虚函数,因此第2个标识下的语句修改为“virtual voidprint()”。
(3)题目3要求“使得p指定对象obj3”。p为指针变量,obj3为类的对象,将一个指针变量指向另一个变量,只要把被指向的变量的地址赋给指针变量即可。取对象obj3地址的语句为&obj3,所以这里补全“p=&obj3;”。
(4)题目4要求“利用p调用print()函数”。C++中用"->"运算符实现成员访问,因此调用print()函数,应将第4个标识下修改为“p->print();”。
转载请注明原文地址:https://kaotiyun.com/show/QKNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamespacestd;template<typenameT>Ttotal(T*data){Ts=0;While(*dat
对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行调用______的构造函数,再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。
C++语言中规定函数的返回值的类型是由()。
在不同文件的函数中,对非静态全局变量的引用要加的关键字是()。
在C++语言中函数返回值的类型是由()决定的;
当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()。
C++程序是从【】函数开始执行的。
以下类定义中可能会引起错误的语句是classA{public:~A(){}//1inti;//2private:
流操作子______可跳过输入流中的前导空白字符。
随机试题
张老师在教学中比较重视基本概念、原理及学习方法的教授。他所遵循的学习理论是()。
治疗哮证热哮的主方是
患者突然昏倒,不省人事,口噤拳握,呼吸气粗,四肢厥冷,舌苔白,脉沉弦。其证候是
爆炸气体混合物的初始压力足够小时,对爆炸气体点火,不会发生()现象。
日记总账会计处理程序一般只适用于规模小、业务量少,使用会计科目不多的会计主体。()
丁公司为增值税一般纳税人。2009年3月1日,为降低采购成本,向甲公司一次购进了三套不同型号且有不同生产能力的设备X、Y、Z。丁公司以银行存款支付货款480万元、增值税税额81.6万元、包装费4万元。X设备在安装过程中领用产成品账面成本3万元,该产成品的
【2015.河北石家庄】下列不属于一个人问题解决的主要因素的是()。
S公司于2007年3月从药监部门领取到医疗器械经营许可证,有效期为5年(2007年3月15日—2012年3月14日),随后从工商部门领取了营业执照。2012年3月14日S公司对医疗器械经营许可证提出延续申请,但药监部门一直未作出准予延续许可的决定。2012
三名小孩中有一名学龄前儿童(年龄不足6岁),他们的年龄都是质数(素数),且依次相差6岁,他们的年龄之和为().
若某文件系统的目录结构如下图所示,假设用户要访问文件rw.dll,且当前工作目录为swtools,则该文件的相对路径和绝对路径分别为(14)________________。
最新回复
(
0
)