首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)声明类objAl,请在注释//********1********后添加适当的语句。 (2)为类oNA0增加友元函数
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)声明类objAl,请在注释//********1********后添加适当的语句。 (2)为类oNA0增加友元函数
admin
2016-10-28
57
问题
使用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全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamespacestd;classshapes{protected:intx,y;public:void
模块的独立性一般用两个准则来度量,即模块间的【】和模块的内聚性。
若有以下程序:#include<iOStream>usingnamespacesstd;classA{public:A(){}A(inti){x1=i;
有以下程序#include<iostream>usingnamespacestd;staticintdays[]={31,28,31,30,31,30,3l,31,30,31,30,31};classdate
若有以下定义:inta[]={1,2,3,4,5,6,7}charc1=’b’,c2=’2’;则数值不为2的表达式是
头文件______中包含了处理用户控制的文件操作所需的信息。
下列语句的输出结果cout<<strlen("\t\,\065\xff\n");
如果一个模板声明列出多个参数,则多个参数之间必须使用______隔开,每个参数都必须重复使用关键字______。
下面的哪个选项不能作为函数的返回类型?
如果有以下定义及初始化:inta=3,*p=&a;则由此可以推断,*p的值是()。
随机试题
急性细菌性痢疾病变最显著的部位是
卵巢癌患者,由于肿瘤组织有可能侵犯肠道,术中要剥离癌组织或切除病变部位的部分肠管。术后腹部压沙袋
下列关于部门预算的表述中,不正确的是()。
持有至到期投资确认减值损失后,利息收入应当按照确认减值损失时对未来现金流量进行折现采用的折现率作为利率计算确认。()
游客被毒蛇咬伤,冲洗伤口时用()冲洗效果最好。
德育过程的基本矛盾是()。
根据《中华人民共和国行政处罚法》的规定,限制人身自由的行政处罚,只能由()设定。
A市光明公司业务员甲某和本公司另一名业务员乙某代表公司按合同接受4万打进口某产品时,两人发现有溢货现象,即港商多发了200打。甲某让乙不要把这一情况告诉别人。几天后,甲某将200打该产品卖给B市个体商经营者丙某,单价为200元,并让丙将货款4万元汇到C市甲
Whatarethelistenersaskedtodo?
A、Printingmoney.B、Determiningstatetaxes.C、Makingtreatieswithforeigncountries.D、Passinglawsaffectingtradebetweenst
最新回复
(
0
)