首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)声明类objAl,请在注释//********1********后添加适当的语句。 (2)为类oNA0增加友元函数
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)声明类objAl,请在注释//********1********后添加适当的语句。 (2)为类oNA0增加友元函数
admin
2016-10-28
71
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)声明类objAl,请在注释//********1********后添加适当的语句。
(2)为类oNA0增加友元函数func(),请在注释//********2********后添加适当的语句。
(3)为类obiAl增加友元函数func(),请在注释//********3********后添加适当的语句。
(4)函数func()返回obiA1对象中的变量和obiA0的静态变量的乘积,请在注释//********4********后添加适当的语句。
注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
#include<iostream.h>
//********1********
class objA0
{
private:
static int m A0;
//********2********
};
int objA0::m_A0=10;
class objA1
{
private:
int m_A1;
//********3********
public:
objAl(int i)
{
m_A1=i;
}
};
int func(objAl& obj)
{
//********4********
}
int main()
{
objA1 obj0(10);
cout<<func(obj0)<<endl;
return0;
}
选项
答案
(1)添加语句:class objAl; (2)添加语句:friend int func(objAl&obj); (3)添加语句:friend int func(objAl&obj); (4)添加语句:return obj.m A1’objA0::mA0;
解析
(1)类的声明格式为:“class<类名>:”,因此第1个标识下应添加“class objAl;”。
(2)按照友元的定义格式,友元函数是在类声明中由关键字friend修饰的非成员函数,func函数在类外部给出了具体的实现形式,即“int func(objAl& obi)”,因此第2个标识下应添加“friend int func(objAl&obj);”,这里参数是objAl类对象obi。
(3)第3个标识下和题目2要求一样,均是声明友元函数,因此第2标识下应添加“friend int func(obiAl&obj);”。
(4)通过参数obj对象可以直接访问obi.m A1,obiA0的静态变量m_A0是所有对象的共享成员,其访问形式为:objA0::m_A0,因此第4个标识下应添加“return obi.m_A1*ob{A0::mA0;}”。
转载请注明原文地址:https://kaotiyun.com/show/I7Np777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面关于友元的描述中,错误的是()。
已知fl(int)是类A的公有成员函数,p是指向成员函数fl()的指针,采用赋值,()是正确的。
已知程序的结果为123,请填空。#include<iostream.h>template<classT>classA{public:Tx,y,z;voiddisplay(
对于下面的程序ifstreamfin(C:\test.tXt);if(fin)cout<<"ok";elsecout<<"wrong";对于if语句中的内容可以换为
若有以下程序:#include<iostream>usingnamespacestd;classdata{public:intx;data(intx){
已知:intn=10;那么下列语句中错误的是
面向对象程序设计思想的主要特征中不包括
下列有关析构函数的说法中,错误的是()。
软件危机出现于20世纪60年代末,为了解决软件危机,人们提出用______的原理来设计软件,这就是软件工程诞生的基础。
软件工程的框架可概括为:目标、过程和【 】。
随机试题
人力资源管理程序的第一步是()
炎症时局部温度增高是因为()
A.鳞状上皮化生B.腺性化生C.腺上皮化生D.骨化生长期吸烟者呼吸道上皮所出现的化生
A、发汗B、阴干C、置沸水中略烫D、蒸透心,敞开低温干燥E、置沸水中煮至透心太子参的加工方法为
建设工程索赔的分类方式不包括( )。
我国现行消费税应税消费品的基本范围包括()。
文字技术整理,是指由责任校对主要从()方面检查和整理全部书刊校样的工作。
下列不属于19世纪自然科学的三大发现是()。
热传导是介质内无宏观运动时的传热现象,其在固体、液体和气体中均可发生,但严格而言,只有在固体中才是纯粹的热传导,在流体(泛指液体和气体)中又是另外一种情况,流体即使处于静止状态,也会由于温度梯度所造成的密度差而产生自然对流,因此在流体中热对流与热传导可能会
有如下的一个函数过程:Functionfn(ByValnumAsLong)DimkAsLongk=1:num=Abs(num)DOWhilenumk=k*fhumMod10)num=hum\10Loopfn=kEnd
最新回复
(
0
)