首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并且使程序输出的结果为: a=7,b=0 a=8,b=10 注意:错误的语句在//******error******的下面
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并且使程序输出的结果为: a=7,b=0 a=8,b=10 注意:错误的语句在//******error******的下面
admin
2018-10-23
67
问题
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并且使程序输出的结果为:
a=7,b=0
a=8,b=10
注意:错误的语句在//******error******的下面,修改该语句即可。
1 #include<iostream.h>
2 class CObj
4 {
4 public:
5 //******error*******
6 friend void func(CObj&,int,int);
7 void display()
8 {
9 //******error******
10 cout<<’’a=’’<<a<¨,b=¨<<<<b<<end1;
11 }
12 private:
13 int a,b;
14 };
15void func(CObj& obj,int t)
16 {
17 obj.a=t;
18 obj.b=0;
19 }
20 void func(CObj& obj,int t,int j)
21 {
22 obj.a=t;
23 obj.b=j;
24 }
25 void main()
26 {
27 //******error******
28 CObj obj1
29 func(obj1,7);
30 obj1.display();
31 func(obj1,8,10);
32 obj1.display();
33 }
选项
答案
(1)添加语句:friend void func(CObj&,int); (2)cout<<’’a=’’<<a<<’’,b=’’<<b<<end1; (3)CObj obj1;
解析
程序中定义了类CObj,其有两个成员变量a和b,通过友元函数func()可改变a和b的值,display()成员函数显示a和b的值。
(1)标识1处是声明一个友元函数,友元函数是在类声明中由关键字Mend修饰的非成员函数,由friend void func(CObj&,int,int)可知,函数func()是CODj类的友元,由程序后面的具体实现可知该函数重载了,已经声明了友元函数friend void func(CObj&,int,int),另外一个友元函数func(CObj& obj,int t)没有声明,因此第1个标识下应添加“friend void func(CObj&,int);”。
(2)display()函数打印类成员变量a和b的值,cout流中的数据是用流插入运算符“<<”顺序加入的,因此“<<<<”不正确,第2个标识下应改为“cout<<’’a=’’<<a<<’’,b=’’<<b<<end1;”。
(3)标识3处是声明类对象,对象声明格式为:<类名><对象名>(<参数表>);,对象声明语句是一个完整的语句,应该以“;”结尾,因此第3个标识下应改为“CObj obj1;”。
转载请注明原文地址:https://www.kaotiyun.com/show/V5Ap777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员数的声明语句为()。
若执行语句:cout<<setfill(’*’)<<setw(10)<<123<<"OK"<<endl后将输出()。
设px是指向一个类动态对象的指针变量,则执行"deletepx;"语句时,将自动调用该类的______。
假定MyClass为一个类,则该类的拷贝构造函数的声明语句为
有如下程序main(){intn=9;while(n>6){n--;cout<<n<<endl;)}该程序段的输出结果是
执行下面程序中的输出语句后,a的值是main(){inta;cout<<(a=3*5,a*4,a+5);}
结构化程序设计的3种结构是
有以下程序:#include<iostream.h>voidfun(inta,mtb,intC){a=456,b=567,c=678;}voidmain(){intx=10,y=20,z=30;
如果派生类以protected方式继承基类,则原基类的protected成员和public成员在派生类中的访问属性分别是()。
类MyClass的定义如下:classMyClass{public:MyClass(){value=0;}SetVariable(inti){value=i;}private:intvalue
随机试题
在使用计算机打字时,除两个拇指外的八个手指应垂放在各自的()键上。
《断魂枪》中描写眼睛“黑的像两口小井”“像两个香火头”的人物是()
Theprofessorspokeveryclearlytomakehimself______.
社区护理干预内容有()
一旦发现脐带脱垂,宫口全开,胎头已入盆,应立即行一旦发现脐带脱垂,宫口全开,肩先露时,应立即行
下列有关胎盘屏障的叙述,错误的是
五味入五脏,多食苦则伤
某水利建筑安装工程的建筑工程单价计算中,人工费为Ⅰ,材料费为Ⅱ,施工机械使用费用为Ⅲ,已知特殊地区施工增加费的费率为γ,则特殊地区施工增加费为()。
Thegreatestknowledgewecanreceiveistakenfromeverydaylifelessons.Ifwelearnfromourmanymistakesandgrowfromeach
WhydidpeoplecrossthetheMediterranean?
最新回复
(
0
)