首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)声明类objAl,请在注释//********1********后添加适当的语句。 (2)为类ob
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)声明类objAl,请在注释//********1********后添加适当的语句。 (2)为类ob
admin
2021-02-22
62
问题
使用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全国计算机二级
相关试题推荐
有类定义如下:classType{public:Type(inti=0);Typeoperator-(int);friendTypeoperator+(Type,Type);privat
数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和
有三个关系R、S和T如下:其中关系T由关系R和S通过某种操作得到,该操作为
有如下程序:#includeusingnamespacestd;classA{public:A0{cout
建立一个有成员对象的派生类对象时,各构造函数体的执行次序为()。
以下程序的执行结果为()。#includeclassSample{intn:public:Sample(inti){n=i;)operator++(){n++;}//
请打开考生文件夹下的解决方案文件proj2,此工程中包含一个头文件shape.h,其中包含了类Shape、Point和Triangle的声明;包含程序文件shape.cpp,其中包含了类Triangle的成员函数和其他函数的定义;还包含程序文件proj2.
下列关于线性表的叙述中,不正确的是()。
在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是()。
某二叉树共有12个结点,其中叶子结点只有1个。则该二叉树的深度为(根结点在第1层)()。
随机试题
下列有关原发性肺结核的描述,正确的是
A.触摸大动脉搏动B.观察瞳孔是否散大固定C.同步直流电除颤D.非同步直流电除颤E.人工呼吸,胸按压判断心搏骤停最简便的方法是
关于特殊解毒药的适应证A、依地酸钙钠B、二巯丁二钠C、亚甲蓝D、乙酰半胱氨酸E、谷胱甘肽用于铅,锰、铜、镉等中毒,尤以铅中毒疗效好的是
下列关于甲、乙、丙之间关系的何种表述是正确的?()。如果甲与不知情的丁在第35日签订了买卖合同,则()。
项目盈亏平衡分析中,若其他条件不变,可以降低盈亏平衡点产量的途径有()。
依据增值税的有关规定,下列行为中属于增值税征税范围的是()。
甲公司2011年12月3日与乙公司签订产品销售合同。合同约定,甲公司向乙公司销售A产品400件,单位售价650元(不含增值税),增值税税率为17%:乙公司应在甲公司发出产品后1个月内支付款项,乙公司收到A产品后3个月内如发现质量问题有权退货。A产品单位成本
赵某从某一超市买了某肉联厂的熟食罐头,吃过罐头后食物中毒,花去医药费数万元。后来法院查明,罐头是超市委托给运输公司托运的,而该运输公司在运输过程中没有采取冷冻措施,致使罐头变质,赵某可以请求()承担民事责任。
道德不是千古不变的,同其他社会意识形态一样,道德也有自己的发生发展过程。下列关于道德发展规律的表述错误的是()
计算下列二重积分:计算xydxdy,其中D={(x,y)|y≥O,x2+y2≤1,x2+y2≤2x}.
最新回复
(
0
)