首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)利用define定义常量TRUE为1,定义常量FALSE为0,请在注释//********1*******
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)利用define定义常量TRUE为1,定义常量FALSE为0,请在注释//********1*******
admin
2019-06-05
64
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)利用define定义常量TRUE为1,定义常量FALSE为0,请在注释//********1********后添加适当的语句。
(2)在类A2前增加A1的声明,请在注释//********2********后添加适当的语句。
(3)在类C1中声明友元函数bool fune(A2&a,A1&b),请在注释//********3********后添加适当的语句。
(4)实现函数bool func(A2&obj1,Al&obj2)功能,检查两个类的值都为TRUE,则返回TRUE,请在注释//********4********后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include
//********1********
#define FALSE 0
//********2********
Class A2
{
private:
bool m_A2;
friend bool func(A2&obj1,
A1&obj2);
public:
A2()
{
m_A2=FALSE;
}
public:
void setA2(bool n)
{
m_A2=n;
}
};
class A1
{
private:
bool m A1;
//********3********
public:
A1()
{
m_A1=TRUE;
}
public:
void setA1(bool n)
{
m_A1=n;
}
};
bool func(A2&obj1,A1&obj2)
{
//********4********
return
}
int main()
{
A2 obj0;
A1 obj1;
cout<
obj0.setA2(TRUE);
obj1.setA1(TRUE);
cout<
return 0;
}
选项
答案
(1)添加语句:#define TRUE 1 (2)添加语句:class A1; (3)添加语句:friend bool func(A2&obj1,A1&obj2); (4)将“return”补充完整为:returnobj1.m_A2==TRUE&&obj2.m_A1==TRUE;
解析
(1)#define命令一般将一个指定的标识符(即宏名)来代表一个字符串,其定义形式一般为:#define宏名(参数表)字符串,因此第1个标识下应添加#define TRUE 1。
(2)类声明格式为:“class<类名>:”,故第2个标识下应添加“class A1;”。
(3)友元不是本类的成员函数,在它的函数体内部可以通过对象名来访问类的私有成员和保护成员。友元函数是在类声明中由关键字。friend修饰的非成员函数,3出添加语句:“friend bool func(A2&obj1,A1&obj2);”。函数func返回变量m_A2和m_A1的逻辑与运算结果,因此第4标识下应改为“return obj1.m_A2=TRUE&&obj2.m_A1==TRUE;”。
转载请注明原文地址:https://kaotiyun.com/show/6m8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在公有派生时,派生类中定义的成员函数只能访问原基类的()。A)私有成员、保护成员和公有成员B)保护成员和私有成员C)公有成员和保护成员D)公有成员和私有成员
下列工具中,不属于结构化分析的常用工具的是()。A)PAD图B)数据字典C)判定树D)数据流图
执行下列语句后,变量n的值是______。intn=0;for(inti=1;i<=3;i++)for(intj=1;j<<=i;j++)n++;
A、 B、 C、 D、 A要对线性表进行二分法查找,对线性表有两个要求:第一,要求线性表是按顺序方式存储的;第二,要求线性表中的元素是按照从小到大的顺序排好序。
下列程序的输出结果为12.324.6,请将横线处的缺失部分补充完整。#include<iostream>usingnamespacestd;classBase{public:Base(intA):id
下列关于析构函数的描述中,错误的是()。A)析构函数可以重载B)析构函数由系统自动调用C)每个对象的析构函数只被调用一次D)每个类都有析构函数
若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是()。A)Data+(DatA);B)Dataoperator+{Data};C)Data+operator{Data};D)operator+(Data,D
负责数据库中查询操作的数据库语言是()。A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言
随机试题
下列关于Word2003修订功能的说法中,正确的是__________。()
前庭裂是喉前庭是
能利水消肿、解酒毒,治疗饮酒过度、成痨吐血的药物是
法定节假日安排劳动者工作的,应支付不低于工资的()的工资报酬。
注销税务登记的适用范围包括()。
房地产开发企业建造的商品房在出售前已经使用或出租、出借的,不缴纳房产税。()
巴斯德认为,空气中的微生物浓度与环境状况、气流运动和海拔高度有关。他在山上的不同高度分别打开装着煮过的培养液的瓶子,发现海拔越高,培养液被微生物污染的可能性越小。在山顶上,20个装了培养液的瓶子,只有一个长出了微生物。普歇另用干草浸液做材料重复了巴斯德的实
Supposeyouaregoingtoinviteaguesttovisityourcompanyanddiscussbusinesswithhim/her.Writeanemailtohim/herto
一幅没有经过数据压缩的彩色图像,其数据量是768KB,分辨率为1024×768,那么可以推算出它的像素深度是
IfyouliveorplantotravelwhereLymediseaseisaproblem,thereareimportantfactsyoushouldknow.Forexample,youcang
最新回复
(
0
)