首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了多个类,但类不能达到输出要求,按照定义的输出修改函数,使得输出如下: TestClass3 TestClass2 TlestClass1 其中定义的类并不完整,按照要求完成下列操作,将类的定
用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了多个类,但类不能达到输出要求,按照定义的输出修改函数,使得输出如下: TestClass3 TestClass2 TlestClass1 其中定义的类并不完整,按照要求完成下列操作,将类的定
admin
2016-10-28
53
问题
用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://jikaoti.com/ti/6ME0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列关于析构函数的描述中,错误的是()。
在重载运算符函数时,下面()。运算符必须重载为类成员函数形式。
当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()。
当要使用ostrstream流类定义一个流对象并联系一个字符串时,应在文件开始处使用#include命令,使之包含()文件。
决定C++语言中函数的返回值类型的是()。
有如下类的定义,下划线处的语句是()。classMyClass{_______intx,y;public;MyClass(inta=0,intb=0){X=a;y=b;}staticvoidch
下列关于函数模板实参不能省略的情况说明不正确的是
以下关于C++语言类的说法中正确的是
随机试题
某工程由于图纸、规范等准备不充分,招标方仅能制定一个估算指标,则在招标时宜采用成本加酬金合同方式中的()。
在抽样研究中,由于抽样而产生的样本指标与总体指标之间的误差称为
患者,女,33岁。因右上后牙食物嵌入痛,遇冷敏感,无自发痛,检查发现6DO中龋。需做的窝洞类型是
我国()开始制定信息技术政策。
期货公司对期货从业人员发出违法违规指令的,期货从业人员应当予以抵制。()[2010年6月真题]
基金管理人要对每一个重要的风险及其对应的回报进行评价和平衡,采取包括回避、接受、共担或降低这些风险等措施,这体现了企业风险管理基本框架中的()。
下列安徽名人中,是现今的安徽滁州市的有()。
根据所给资料,回答下列问题。2005年中非贸易额为396.9亿美元,其中中国对非洲出口186.5亿美元,自非洲进口210.4亿美元。2006年中非贸易额为554.9亿美元,其中中国对非洲出口266.9亿美元,自非洲进口288亿美元。2007年中国与非洲
WheredidJeffgettheinformation?Fromthe______.Whatdidthecataloguesincludeexceptvariousproducts7Detailedspecif
Travelersinspacehaveto______manydiscomfortsintheirspaceships.
最新回复
(
0
)