首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)重载运算符int,请在注释//********1********后添加适当的语句。 (2)重载运算符“
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)重载运算符int,请在注释//********1********后添加适当的语句。 (2)重载运算符“
admin
2015-05-30
38
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
(1)重载运算符int,请在注释//********1********后添加适当的语句。
(2)重载运算符“<<”,请在注释//********2********后添加适当的语句。
(3)在主函数main()中定义变量i,并调用对象obj的int运算符,给变量赋初值为10,请在注释//********3********后添加适当的语句。
(4)调用obj的“<<”运算符输出:
HelloTest
注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
1 #include
2 USing namespace std,
3 class TestClass
4 {
15 publiC:
6 //********1********
7
8 {
9 cout<<”int"<
10 return 10 ;
}
11 //********2********
12
13 {
14 cout<
15 }
16 };
17 int main()
18 {
19 TestClass obj ;
20 //********3********
21
22 //********4********
23
24 return 0;
25 }
选项
答案
(1)添加语句:operator int() (2)添加语句:operator<<(char*str) (3)添加语句:int i=int(obj); (4)添加语句: obj<<"Hello Test";
解析
本题的功能是通过重载运算符实现字符串输出。在VC环境下打开程序,根据题干给出的几条功能要求,对程序中给出注释下的内容逐个补全或修改。从已定源程序的main主函数开始入手,可以看出程序通过调用类TestClass的运算符重载函数实现各种输出操作。
[解题思路]
(1)题目1要求“重载运算符int”的定义。运算符重载的方法是定义一个重载运算符的函数,其一般格式为:函数类型operator运算符名称(形参列表){对运算符的重载处理}。所以第1个标识下,重载运算符int的语句为“operatorint()”。
(2)题目2要求“重载运算符‘<<’”。同(1),第2个标识下“<<”的重载函数定义为“operator<<(char*str)”。
(3)题目3要求“在主函数main()中定义变量i,并调用对象obj的int运算符,给变量赋初值为10。”定义变量i,即int i。“operator int()”中的返回值为10,所以调用对象obj的int运算符,给变量赋初值为10,就是int(obj),即第三个标识下添加“int i=int(obi);”。
(4)题目4要求“调用obj的“<<”运算符输出“HelloTest””。重载运算符“<<”后,不仅能输出标准类型数据,而且可以输出用户自己定义的类对象。所以直接添加要输出的字符串即可,即“obj<<"Hello Test";”。
转载请注明原文地址:https://kaotiyun.com/show/BJNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若有intx[5],*p=x;则数组元素x[3]可以表示为*(p+【】),也可以表示为p[3]。
建立数据字典的时机是【】。
阅读下面的程序:#include<iostream.h>voidmain(){intx;cin>>x;if(x++>5)cout<<x<<endl;else
结构化程序设计思想的核心是要求程序只由顺序、循环和【】三种结构组成。
定义重载函数时,应在参数个数或参数类型上【】。
输入流对象是输出流的源头,下面______不是输入流类。
如果表达式++i*k中的“++”和“*”都是重载的非静态成员运算符,则采用运算符函数调用格式,该表达式还可表示为=______。
已知在函数func()中语句this->ff=0;与语句ff=0;的效果完全相同。对于这一现象,下列表述中错误的是()。
以下函数模板max的功能是:返回数组a中最大元素的值。请将横线处缺失部分补充完整。template<typenameT>Tmax(Ta[],intn){Tm=a[0];for(inti=1;i<n;i++)
有关析构函数的说法不正确的是()。
随机试题
以下各选项中,说法错误的有哪些?
______是人们利用数字符号来计数的方法。
FromthefirstbattlesoftheUnitedStatesCivilWarcamereportsofdireshortagesofmedicalpersonnelandhospitalsupplies.
A.立即50URI,皮下注射B.0.9%盐水,小剂量RI,静滴并补钾C.50%葡萄糖,静脉注射D.优降糖,口服E.二甲双胍男性,23岁,短期内消瘦,乏力明显,以发热、呕吐、腹泻2天为主诉入院,查血糖18mmol/L,尿酮体(+++)
纵隔扑动主要发生在
月经紫暗挟有血块,兼小腹冷痛多属
张某委托甲房地产经纪公司(以下简称甲公司)承租一套住房,甲公司委派房地产经纪人刘某为张某服务。刘某通过发布广告信息,很快找到了张某满意的房源,该房源的所有权人为王某。看房前甲公司与张某签订的委托协议约定:张某向甲公司交纳看房费200元。张某与王某签订租赁协
八大菜系中,口味重辣、酸、香、鲜、软、脆的是()。
下列关于理性认识的说法中正确的有
A、Theysuffermoreatworkthanathome.B、Complainingaboutworkismoresociallyacceptable.C、Theyarenotsatisfiedwiththe
最新回复
(
0
)