首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)声明类objA1,请在注释//********1********后添加适当的语句。 (2)为类ob
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)声明类objA1,请在注释//********1********后添加适当的语句。 (2)为类ob
admin
2018-10-23
53
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)声明类objA1,请在注释//********1********后添加适当的语句。
(2)为类objA0增加友元函数func(),请在注释//********2********后添加适当的语句。
(3)为类0bjA1增加友元函数func(),请在注释//********3********后添加适当的语句。
(4)函数func()返回objA1对象中的变量和objA0的静态变量的乘积,请在注释//********4********后添加适当的语句。
注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
1 #include<iostream.h>
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 objA1
13 {
14 private:
15 int m_A1;
16 //********3********
17
18 public:
19 objA1(int i)
20 {
21 m_A1=i;
22 }
23 };
24 int func(objA1& obj)
25 {
26 //********4********
27
28 }
29 int main()
30 {
31 objA1 obj0(10);
32 cout<<func(obj0)<<end1;
33 return 0;
34 }
选项
答案
(1)添加语句:class objA1; (2)添加语句:friend int func(objA1&obj); (3)添加语句:friend int func(objA1&obj); (4)添加语句:return obj.mA1*objA0::m_A0;
解析
友元提供了不同类或对象的成员函数之间、类的成员函数与一般函数之间进行数据共享的机制,友元不是本类的成员函数,在它的函数体内部可以通过对象名来访问类的私有成员和保护成员。友元函数是在类声明中由关键字friend修饰的非成员函数。func()函数为类objA1的友元,因此可以通过对象名直接访问到objA1的私有成员变量。
(1)类的声明格式为:“class<类名>;”,因此第1个标识下应添加“class objA1:”。
(2)按照友元的定义格式,友元函数是在类声明中由关键字Mend修饰的非成员函数,func函数在类外部给出了具体的实现形式,即“int func(objA1&obj)”,因此第2个标识下应添加“friend int func(objA1&obj);”,这里参数是objA1类对象obj。
(3)第3个标识下和题目2要求一样,均是声明友元函数,因此第2标识下应添加“friend intfunc(objA1&obj);”。
(4)通过参数obj对象可以直接访问obj.m_A1,objA0的静态变量m_A0是所有对象的共享成员,其访问形式为:objA0::m_A0,因此第4个标识下应添加“return obj.m_A1*objA0::m_A0;”。
转载请注明原文地址:https://kaotiyun.com/show/MwAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
关系模型允许定义3类数据约束,下列不属于数据约束的是()。
设计程序时应采纳的原则之一是()。
二分法查找仅限于这样的表:表中的数据元素必须有序,其存储结构必须是______。
下列工具中为需求分析常用工具的是()。
算法的空间复杂度是指()。
对于下面定义的类MyClass,请在函数f()中添加对象成员把n的值修改为50。ClassMyClass{Public:MyClass(intx){n=x;)VoidSetNum(intnl){n=nl;}
软件工程的理论和技术性研究的内容主要包括软件开发技术和
下列选项中不属于软件生命周期开发阶段任务的是()。
一个算法通常由两种基本要素组成:一是对数据对象的运算和操作,二是______。
随机试题
技术是人类利用、控制、改造自然、社会和思维的知识体系,是人与自然、社会、思维之间相互联系的一种媒介。自然技术的研究对象是自然界,主要解决“做什么”与“怎样做”的问题。所谓技术的国际性,是指技术没有民族与国别之分,是全人类共同的财富。因此,无论是什么民族和国
离散型随机变量的概率分布怎样表示?常用的离散型随机变量的概率分布有哪些?
如果企业速动比率很小,下列结论成立的是()
体格检查不包括
时某,男性,65岁。右腰痛2年余,无痛性全程肉眼血尿3天;查体:右肾区叩痛,右肾可触及肋下3指;尿常规:红细胞充满视野;肾盂静脉造影可见右肾中盏移位、拉长、变形。应诊断为
A.腹腔动脉B.髂外动脉C.髂内动脉D.肠系膜前动脉E.荐中动脉位于家畜腹腔内供应肝脏血液的动脉称为
中度缺钠时,病人每千克体重缺氯化钠
A、(2R,2’R)-(+)-2,2’-(1,2-乙二基二亚氨基)-双-1-丁醇B、4-吡啶甲酰肼C、1-环丙基-6-氟-1,4-二氢-4-氧代-7-(1-哌嗪基)-3-喹啉羧酸盐酸盐一水合物D、9-(2-羟乙
我国基础教育新课程改革后,实行了三级课程管理体系,它们是国家课程、地方课程、校本课程。()
科学研究中使用的形式语言和日常生活中使用的自然语言有很大的不同。形式语言看起来像天书,远离大众,只有一些专业人士才能理解和运用。但其实这是一种误解,自然语言和形式语言的关系就像肉眼与显微镜的关系。肉眼的视域广阔,可以从整体上把握事物的信息;显微镜可以帮助人
最新回复
(
0
)