首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)声明类objAl,请在注释//********1********后添加适当的语句。 (2)为类ob
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)声明类objAl,请在注释//********1********后添加适当的语句。 (2)为类ob
admin
2021-02-22
84
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)声明类objAl,请在注释//********1********后添加适当的语句。
(2)为类objA0增加友元函数func(),请在注释//********2********后添加适当的语句。
(3)为类objAl增加友元函数func(),请在注释//********3********后添加适当的语句。
(4)函数funcO返回objAl对象中的变量和0bjA0的静态变量的乘积,请在注释//********4********后添加适当的语句。
注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
1 #include
2 //********1********
3
4 class objA0
5 {
6 private:
7 static int m_A0;
8 //********2********
9
10 };
11 int objA0::m_A0=10 ;
12 class objAl
13 {
14 private:
15 int m_A1 ;
16 //********3********
17
18 public:
19 obj A1(int i)
20 {
21 m_A1=i ;
22 }
23 };
24 int func(objAl&obj)
25 {
26 //********4********
27
28 }
29 int mein()
30 {
31 objA1 obj 0(1 0);
32 COUt<
33 return 0 ;
34 }
选项
答案
(1)添加语句:C1ass obj A1; (2)添加语句:friend int func(obj A1&obj); (3)添加语句:friend int func(objAl&obj); (4)添加语句:return obj.m A1*obj A0::m A0 ;
解析
友元提供了不同类或对象的成员函数之间、类的成员函数与一般函数之间进行数据共享的机制,友元不是本类的成员函数,在它的函数体内部可以通过对象名来访问类的私有成员和保护成员。友元函数是在类声明中由关键字friend修饰的非成员函数。func()函数为类0bjAl的友元,因此可以通过对象名直接访问到objAl的私有成员变量。
[解题思路]
(1)类的声明格式为:“class<类名>:”,因此第1个标识下应添加“class obiAl;”。
(2)按照友元的定义格式,友元函数是在类声明中由关键字friend修饰的非成员函数,func函数在类外部给出了具体的实现形式,即“int func(objAl&obj)”,因此第2个标识下应添加“friend int func(objAl&obj);”,这里参数是objAl类对象obi。
(3)第3个标识下和题目2要求一样,均是声明友元函数,因此第2标识下应添加“friend int func(0bjAl&obj);”。
(4)通过参数Obj对象可以直接访问obj.mA1,objA0的静态变量m A0是所有对象的共享成员,其访问形式为:objA0::m A0,因此第4个标识下应添加“retum obj.m Al*objA0::m_A0;”。
转载请注明原文地址:https://kaotiyun.com/show/c1fp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
程序流程图中带有箭头的线段表示的是
定义学生选修课程的关系模式为SC(S#,Sn,Sd,Sa,C#,G)(其属性分别为学号、姓名、所在系、年龄、课程号和成绩);C(C#,Cn,P#)(其属性分别为课程号、课程名、先选课)。关系模式SC的主键是
下列代码段声明了3个类classPerson{};classStudent:publicPerson{};classUndergraduate:Student{};下列关于这些类之间关系的描述中,错误的是(
在函数中,可以用auto、extem、register和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是()。
下面的符号中可以用作C++标识符的是()。
下面程序段的正确输出是()。intw=4,x=3,y=2,z=1;cout
下面关于构造函数和析构函数的描述,错误的是()。
请打开考生文件夹下的解决方案文件proj3,其中包含主程序文件main.cpp和用户定义的头文件Array.h,整个程序包含有类Array的定义和主函数main的定义。请把主程序文件中的Array类的成员函数Contrary()的定义补充完整,经补充后运
使用VC6打开考生文件夹下的源程序文件modi3.cpp。请完成以下部分,实现在屏幕上输出为:TestClass3TestClass2这个程序需要修改的部分,请按照以下部分实现。(1)类TestClass0不能被实例
一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。
随机试题
A.肠段部分切除吻合术B.粘连带切断和分离术C.肠瘘局部楔形切除缝合术D.肠瘘旷置术E.小肠浆膜补片覆盖修补术空回肠的肠外瘘者可行()
清气化痰丸的组成药物中不含有
晶状体位于_________与_________之间。
甲国人张某在中国发现乙国人廖某侵犯了其专利权,但廖某认为该专利是依据了转让许可协议的,法律有关争议在中国某法院审理。依《涉外民事关系法律适用法》,下列选项正确的是:
甲公司与张某签订了3年的劳动合同,在劳动合同中约定试用期满的月工资800元,甲公司所在地的最低工资标准为750元。根据劳动合同法律制度规定,张某在试用期的月工资不得低于()元。
国务院办公厅印发的《关于推动中央企业结构调整与重组的指导意见》,明确了下一阶段推进中央企业结构调整和重组的重点工作,《意见》最大的亮点是由之前的“三个一批”升级为“四个一批”。下列属于新升级的一个是()。
紫禁城北端的御花园是一座典型的宫廷式花园,在1.2万平方米的有限空间,容纳了大小20多座亭、台、楼、阁,其建筑形式采用与宫殿建筑相和谐的统一对称的手法,又富于高低,大小的变化,整个花园既保持了宫殿的规整,又不失园林的活泼。从这段话中可以概括出紫禁
在人与自然的认识上,与西方“认识你自己”这一著:哲学思考接近同一时期的东方思想是()。
如果小王考上博士并且小刘没有考上博士,那么温丽一定考不上博士。如果以上命题为真,再加上什么前提,可以推出:小刘考上博士了?
下列设备中,完全属于计算机输出设备的一组是______。
最新回复
(
0
)