首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
89
问题
使用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://kaotiyun.com/show/V5Ap777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
相对于数据库系统,文件系统的主要缺陷有数据关联性差、数据不一致性和
下列程序从保存整数的文本文件”c:Sample.dat”中依次取出每个数据并显示出来,同时统计并显示出所有数据的个数。程序划线处的表达式为______。#include<stream.h>#include<stdlib.h>void
执行完下列语句inta,b,c=&a;int*&p=c;p=&b;后c指向
有以下程序main(){inti=1,j=1,k=2;if((j++||k++)&&i++)cout<<i<<","<<j<<","<<k<<endl;}执行后输出结
下列有关数据库的描述,正确的是
如果类中的一个成员函数的定义实现在类内,则该函数系统自动默认为该类的______函数。
以下程序的输出结果是______。#include<iostream.h>voidmain(){inta=0;a+=(a=8);cout<<a;}
下列程序输出的结果是()。#include<stdio.h>un1(chara,charb){charc;c=a;a=b;b=c;}fun2(char*a,charb){charc;c=*a;*a=b;b=c;}
有以下程序:#include<iostream.h>voidfun(inta,mtb,intC){a=456,b=567,c=678;}voidmain(){intx=10,y=20,z=30;
两个或两个以上模块之间关联的紧密程度称为()。
随机试题
Iftheprimarygoaloflanguageuseiscommunication,mistakesaresecondaryconsiderationsthatmaybedealtwithgraduallyas
医疗机构临床用血管理的第一责任人是
物业服务收费的计费方式包括()。
对证券公司从事的创新业务,中国证监会依据审慎监管的原则予以()。
如果当事人一方不履行仲裁裁决的,另一方可以申请执行的机构是()。
人们对学习本身的兴趣所引起的动机称为()。
机构编制管理的任务包括()。
在下列迁移理论中,认为学习迁移是自动的、无条件的是()。
宋代太学的三舍法发展到元朝后,形成著名的()
()是美国最长的河流,印第安语称其为“老人河”。
最新回复
(
0
)