首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)声明类objA1,请在注释//********1********后添加适当的语句。 (2)为类ob
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)声明类objA1,请在注释//********1********后添加适当的语句。 (2)为类ob
admin
2018-10-23
64
问题
使用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全国计算机二级
相关试题推荐
以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原是()。#include<iostream.h>voidmain(){int*p,*q,a,b;p=&a;eout<<"inputa:";
下面程序的结果为#include"iostream.h"voidchange(inta,intB){inttemp;temp=a;a=b;b=temp;}voidm
结构化程序设计主要强调的是
在岂个容量为25的循环队列中,若头指针front=9,尾指针Year=16,则该循环队列中共有______个元素。
程序中有如下语句for(inti=0;i<5;i++)cout<<*(p+i)<<",";能够依次输出int型一维数组a的前5个元素。由此可知,变量P的定义及初始化语句是()。
使用ifstream流类定义流对象并打开磁盘文件时,文件的隐含打开方式为()。
定义静态成员函数的主要目的是
已知在一个类体中包含如下函数原型:VOLUMEOPERATOR-(VOLUME)const;,下列关于这个函数的叙述中,错误的是()。
数据库管理最本质的特点是实现数据的共享。为了实现数据的共享,保证数据的独立性、完整性和安全性,需要有一组软件来管理数据库中的数据,处理用户对数据库的访问,这组软件称为______。
在一个容量为25的循环队列中,若头指针front=15,尾指针rear=6,则该循环队列中共有______个元素。
随机试题
男性,12岁,进食不洁食物后出现不适,经检查诊断为急性胃炎。下列临床表现不可能出现的是()。
下列词语中加点的字,读音全都正确的一组是()
M公司是国内一家民营企业,1994年创立,在创建初期员工不断努力,公司业务迅速发展。适逢中国加,WTO,M公司的业务量也随着国内外经济形式的不断发展突飞猛进,员工人数也由建立初期的几十人增加到现在的近千人。但是随着公司规模的不断扩大,公司的问题也逐渐突出,
根据土地增值税法律制度的规定,下列各项中,不需要缴纳土地增值税的有()。
某教师在讲授“发展生产,满足消费”这一内容时,播放了电影发展史的相关视频作为课堂导入,这属于思想政治课课堂导人的哪一种方法?()
—Youdidn’tattendthepartylastnight?—No,I______,forthepartywasputoffforsomereason.
下列作家、作品完全对应的一项是()。
Whatdoesthemanwantthewomantodo?
ThemiserablefateofEnron’semployeeswillbealandmarkinbusinesshistory,oneofthoseawfuleventsthateveryoneagreesm
1)Peoplewithdiabeteshavetoomuchsugarintheirblood,soadrugthatlowersbloodsugaroughttobeagoodtreatment,right
最新回复
(
0
)