首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)声明类objA1,请在注释//********1********后添加适当的语句。 (2)为类ob
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)声明类objA1,请在注释//********1********后添加适当的语句。 (2)为类ob
admin
2018-10-23
37
问题
使用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类数据约束,下列不属于数据约束的是()。
在类的对象被创建时,______函数会被自动调用。
下面程序的执行结果是#include"iostream.h"voidmain(){int*p,r;p=newint;*p=20;r=sizeof(*p);cout<<r<<endl
以下定义数组中错误的是
下列程序的输出结果是()。#include<iostream>usingnamespacestd;intmain(){chara[]="Hello,Test";char
假定MyCIass为一个类,那么下列的函数说明中,()为该类的析构函数。
阅读下面程序:#include<iostream.h>intfun2(intm){if(m%3==0)return1;elsereturn0;}voidfun1(intm
若有如下程序:#include<iostream>usingnamespacestd;classTestClass{public:voidwho(){cout<<"TestClass"<<endl;
假定A为一个类,则语句A(A&a);为该类______函数的原型说明。
在表达式x-y中,"-"是作为非成员函数重载的运算符。若使用显式的函数调用代替直接使用运算符"-",这个表达式还可以表示为
随机试题
由于海上风暴、船体破损、海上救火导致海水浸湿等原因造成的海上损失称为()
为了减少手术区创面出血,常在局麻药中加入一定浓度的
解剖牙冠是指
根据我国《建筑法》的规定,该工程如正常开工,最迟允许日期为( )。如果该建筑单位因征地问题没有解决,而不能按期开工,超过( ),则应重新办理开工报告的批准手续。
背景国家拟投资1.5亿元建设某大型炼油装置及附属罐区工程项目,工程内容包括:土建工程、给水排水管网、供热系统管网、通风与空调系统管网、燃气管道系统、塔类设备、金属储罐、工艺管道、电气仪表等工程。建设项目建议书批准后对该项目进行了技术和经
某城市综合体,地上六层、地下三层,建筑高度23.0m,地上1~6层为商业用房,地上部分每层建筑面积为2500m2,地下主要使用性质为汽车库、设备用房。建筑防火及消防设施配置均满足现行有关国家工程建设消防技术标准的要求。地下消防水池容积为500m3
期货从业人员在执业过程中应当对期货交易各方高度负责,( ),恪尽职守,珍惜和维护期货业和从业人员的职业声誉,保障期货市场稳健运行。
明仁公司经营多种产品,最近两年的财务报表数据摘要如下(单位:万元):项目 上年 今年净利润 1000 1200所有者权益
你是省教育部门的工作人员,高考期间,为严肃考场纪律,领导让你到某县巡查,但是到了当地。主管部门不配合,学生家长也进行阻挠。你怎么办?
【B1】【B7】
最新回复
(
0
)