首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)声明类objA1,请在注释//********1********后添加适当的语句。 (2)为类ob
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)声明类objA1,请在注释//********1********后添加适当的语句。 (2)为类ob
admin
2018-10-23
74
问题
使用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全国计算机二级
相关试题推荐
在多继承的基类和派生类中同时出现______存在二义性。
下列for语句的循环次数为______。for(inta=0,b=1;b&&a<5;a++);
下列程序的输出结果是()。#include<iostream>usingnamespacestd;intmain(){chara[]="Hello,Test";char
关于运算符重载的表述中正确的是()。
有如下程序;#include<iostream>usingnamespacestd;classDA{intk;public:DA(intx=1):k(x){}~DA(){c
若类A和类B的定义如下:#include<malloc.h>classA{inti,j;public:intgeti(){returni;}};classB:
算法的空间复杂度是指()。
下面关于C++流的叙述中,正确的是()。
下列叙述中,不属于软件需求规格说明书的作用的是()。
算法复杂度主要包括时间复杂度和______复杂度。
随机试题
一项经纪业务的最终完成,其作用的最终是()。
会计电算化的近期计划应与中长期计划相适应。 ( )
下列表述有误的是()。
普通附息债券的凸性()。
下列选项中属于我国证券登记结算机构业务范围和职能的有()。Ⅰ.接受上市申请,安排证券上市Ⅱ.证券的存管和过户Ⅲ.证券持有人名册登记Ⅳ.受发行人的委托派发证券权益
丁墨在他的小说《他来了,请闭眼》中,塑造了高智商、严谨和善于推理的犯罪心理学家薄靳言的形象,这属于()。
在我国远古社会的传说中,相传()品尝百草,救民疾苦,发明了原始医药;“耕而作陶”,发明了原始制陶业;教人耕种,出现了原始农业和原始文化
如果你是老师,该怎样激发学生的学习动机?
半殖民地半封建中国的资产阶级分为大资产阶级和小资产阶级两部分。
AHealthProfileAhealthprofileisaportraitofallofthefactorsthatinfluenceyourhealth.Todrawyourhealthprofil
最新回复
(
0
)