首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)声明类objA1,请在注释//********1********后添加适当的语句。 (2)为类ob
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)声明类objA1,请在注释//********1********后添加适当的语句。 (2)为类ob
admin
2018-10-23
80
问题
使用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全国计算机二级
相关试题推荐
有以下程序:#include<iostream>usingnamespacestd;intmain(){intx=15;while(x>10&&x<50){x++;if(x/3
虚函数必须是类的
数据库系统中实现各种数据管理功能的核心软件是______。
如果派生类以protected方式继承基类,则原基类的protected成员和public成员在派生类中的访问属性分别是()。
下列关于线性链表的描述中正确的是()。
常用的软件结构设计工具是结构图(SC),也称程序结构图。其中,用矩形表示,用带空心圆的箭头表示传递的是数据。
若有如下程序:#include<iostream>usingnamespacestd;ClassTestClass1{private:inta;public:TestClassl(in
数据管理技术发展过程经过人工管理、文件系统和数据库系统3个阶段,其中数据独立性最高的是______阶段。
下列叙述中,不属于软件需求规格说明书的作用的是()。
已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是
随机试题
鉴别RX可选用的试剂为()。
企业管理的一般方法不包括【】
贯穿《爱尔克的灯光》全文的线索是【】
前列腺摘除术后禁忌灌肠的时限为
胸壁反常运动是哪种胸部损伤时的主要表现
托管人可以委托托管资产规模不少于()亿美元的境外资产托管人负责境外资产托管业务。
关于扣缴义务人的说法,正确的是()。
科学家通过基因改造,设计出了能在激光脉冲照射下收缩的肌肉细胞。这种被称为“生物综合设计”的仿生学新理念除了________自然生物进行设计.还直接使用了真正的肌肉组织,不但融合了生物组织的优点并跳过仿生肌肉阶段,将目标专注于寻找新的理论和方法来实现轻量、低
给定资料1.文化是民族的血脉和灵魂,是人民的精神家园,是维系国家统一和民族团结的精神纽带,是民族生命力、创造力和凝聚力的集中体现,是一个国家最鲜明的精神旗帜。文化软实力对于社会进步和发展始终起推动作用。加强基层文化建设,是夯实和提高国家文化软实力
阅读下列函数说明和C++代码,将应填入(n)处的字句写在对应栏内。[说明]在一些大型系统中,大多数的功能在初始化时要花费很多时间,如果在启动的时候,所有功能(包括不用的功能)都要全面初始化的话,会导致应用软件要花很多时间才能启动。因此常
最新回复
(
0
)