首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)声明类objA1,请在注释//********1********后添加适当的语句。 (2)为类ob
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)声明类objA1,请在注释//********1********后添加适当的语句。 (2)为类ob
admin
2018-10-23
84
问题
使用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.h>voidfun(inta,mtb,intC){a=456,b=567,c=678;}voidmain(){intx=10,y=20,z=30;
关系模型允许定义3类数据约束,下列不属于数据约束的是()。
若将一个二元运算符重载为类的成员函数,其形参个数应该是______个。
如下程序编译时发生错误,错误的原因是show函数实现语句错误,则正确的语句应该为______。#include<iostream.h>classtest{private:inthum;public
设有定义:classperson{intnum;charname[10];public:voidinit(intn,char*m)};personstd[30]则以下叙述不正确的是(
类中包含了一个静态成员函数,则main函数中和P.f1(P);语句具有同样功能的语句为______。#include<iostream.h>classM{public:M(intA){A=a;B+=a;}static
数据库管理最本质的特点是实现数据的共享。为了实现数据的共享,保证数据的独立性、完整性和安全性,需要有一组软件来管理数据库中的数据,处理用户对数据库的访问,这组软件称为______。
在计算机中,算法是指
在软件生存周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是
以下不使用线性结构表示实体之间联系的模型的是()。
随机试题
下列选项中,属于社会公德内容的有
Thereisonethingthateveryonewantsmorethananythingelse.Somepeopletrytogetitbymakingmoney.Theythinkthatwhen
秦先生,高血压病,近期血压波动较大,为该病人测量血压时应做到
关于慢性胃炎的叙述,正确的是()。
根据《公司登记管理条例》的规定,自治区、直辖市工商行政管理局负责本辖区内()的登记。
大宇电子有限公司为一般纳税人,增值税率17%。2007年因生产经营所需要,于年初开始自营建造厂房一幢,发生如下业务,要求:根据以下业务编制会计分录。4月30日经查明原因,定额内损耗3000.00元,不可抗力发生意外损耗11000.00元,仓库保管员玩
中国近代葡萄酒酿造业始于()。
某市工商局春节期间出台叫停“禁止自带酒水”等六项措施,引起了中国烹饪协会高调反弹,工商部门作出解释声明:这是对于不规范行为的合法做法。此事件引起社会极大反响,并持续发酵!请问你怎么看?
人民检察院决定逮捕犯罪嫌疑人、被告人的,由人民检察院执行。()
下列可以激活属性窗口的操作是()。
最新回复
(
0
)