首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)声明类objAl,请在注释//********1********后添加适当的语句。 (2)为类ob
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)声明类objAl,请在注释//********1********后添加适当的语句。 (2)为类ob
admin
2021-02-22
46
问题
使用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全国计算机二级
相关试题推荐
在希尔排序法中,每经过一次数据交换后
下列关于C++流的描述中,错误的是()。
有如下程序:#includeusingnamespacestd;classONE{intc;public:ONE():c(0){cout
请打开考生文件夹下的解决方案文件proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang20Tsinghua。注意:只能在函数address_change的“//***
使用VC6打开考生文件夹下的源程序文件modi3.cpp,阅读下列程序说明和代码,功能如下:从屏幕输入数字,然后由大到小插入指定的链中。当输入0时,表示输出的数据已经输入完成,然后把数据打印到屏幕,然后释放内存。其中定义的类并不完整,按
请打开考生文件夹下的解决方案文件proj2,该工程中包含一个程序文件main.cpp,其中有类CPolygon(“多边形”)、CRectangle(“矩形”)、CTriangle(“三角形”)的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。该
下列数据结构中,能够按照“先进后出”原则存取数据的是
将E-R图转换为关系模式时,实体和联系都可以表示为()。
一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为()。
下列数据结构中,属于非线性结构的是()。
随机试题
Someconfusionhas______aboutwhocandothisjob.
产后恶露淋漓,涩滞不畅,色紫黯,小腹疼痛拒按,舌紫黯,脉涩。应首选
关于腰椎间盘突出症的叙述,下列哪项是错误的
城市用地具有自身的特殊规律,从而对城市布局具有重要的影响。城市用地的特征主要是:(),以及用地布局的不可逆性。
某透明媒质对于空气的临界角(指全反射)等于30°,光从空气射向媒质时的布儒斯特角是( )。
背景资料:某施工单位承接了一座多跨变截面预应力混凝土连续箱桥梁,大桥分为上下游两幅,每幅单箱顶板宽10.5m,底板宽6m。大桥采用钻孔灌注桩基础,双柱式桥墩(墩柱高15m至26m不等),普通钢筋混凝土盖梁。上部结构0号采用墩顶混凝土现浇施工,临时固结构
土地增值税采用的是超率累进税率。()
有甲、乙连续两项工作,甲工作的最早开始时间是第4天,乙工作的最早开始时间是第10天;甲工作和乙工作的持续时间分别是4天和5天,则甲工作的自由时差是()。
【C1】______thelackof【C2】______betweengiftedstudentsandtheirschools,itisnotsurprisingthatsuchstudentsoftenhave【C3】
Newtechnologylinkstheworldasneverbefore.Ourplanethasshrunk.It’snowa"globalvillage"wherecountriesareonlyseco
最新回复
(
0
)