首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)利用define定义常量TRUE为1,定义常量FALSE为0,请在注释//********1*******
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)利用define定义常量TRUE为1,定义常量FALSE为0,请在注释//********1*******
admin
2018-10-23
43
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)利用define定义常量TRUE为1,定义常量FALSE为0,请在注释//********1********后添加适当的语句。
(2)在类A2前增加A1的声明,请在注释//********2********后添加适当的语句。
(3)在类C1中声明友元函数bool func(A2a a,A1&b),请在注释//********3********后添加适当韵语句。
(4)实现函数bool func(A2&obj1,A1&obj2)功能,检查两个类的值都为TRUE,则返回TRUE,请在注释//********4********后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
1 #include<iostream.h>
2 //********1********
3
4 #define FALSE 0
5 //********2********
6
7 class A2
8 {
9 private:
10 bool m_A2;
11 friend bool func(A2& obj1,A1&obj2);
12 public:
13 A2()
14 {
15 m_A2=FALSE;
16 }
17 public:
18 void setA2(bool n)
19 {
20 m_A2=n;
21 }
22 };
23 class A1
24 {
25 private:
26 booi m_A1;
27 //********3********
28
29 public:
30 A1()
31 {
32 m_A1=TRUE;
33 }
34 public:
35 void setA1(bool n)
36 {
37 m_A1=n;
38 }
39 };
40 bool func(A2&obj1,A1& obj2)
41 {
42 //********4********
43 return
44 }
45 int main()
46 {
47 A2 obj0;
48 A1 obj1;
49 cout<<func(obj0,obj1)<<end1;
50 obj0.setA2(TRUE);
51 obj1.setA1(TRUE);
52 cout<<func(obj0,obj1)<<end1;
53 return 0;
54 }
选项
答案
(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;
解析
程序当中定义了两个类,每个类中具有一个bool型成员变量,函数func(A2&obi1,Al&obj2)功能是检查这两个类的成员变量值是否都为TRUE,如果均为TRUE返回真,否则返回FALSE,相当于一个逻辑与运算。
(1)#define命令一般将一个指定的标识符(即宏名)来代表一个字符串,其定义形式一般为:#define宏名(参数表)字符串,因此第1个标识下应添加#define TRUE 1。
(2)类声明格式为:“class<类名>;”,故第2个标识下应添加“classA1:”。
(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/ywAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
函数inttest(inta,intb=1,intc=0),下列调用不合法的个数是test(0);test(0,0);test();test(0,0,0);
若有如下变量定义和函数调用语句:inta=5;fun(&A);则执行下面函数后正确的输出结果是()。voidfun(int*x){cout<<++*
下列叙述中错误的是()。
operator是运算符重载时必须使用的关键字,它和被重载的运算符连在一起,作为运算符函数的专用函数名,务必把该函数说明为______的。
若有如下程序:#include<iostream>usingnamespacestd;ClassTestClass1{private:inta;public:TestClassl(in
使用ifstream流类定义流对象并打开磁盘文件时,文件的隐含打开方式为()。
下列程序完成从文件读取文件显示的同时写入第二个文件,则在程序中划线部分应该出现的语句是______。#include<iostream.h>#include<fstream.h>voidmain(){fs
下面程序编译时发现ma[3]=9错误,其原因是______。#include<iostream.h>classFunArray{int*pa;//指向一个数组空问intsize;//数组元素个
下面各项中不属于软件生存期中开发阶段的是
若要在程序文件中进行标准输入输出操作,则必须在开始的#include命令中使用头文件______。
随机试题
2009年6月20日,甲、乙公司签订100万元的买卖合同,7月1日,人民法院受理了甲公司的破产申请,同时指定丙会计师事务所担任管理人。该买卖合同甲、乙公司均未履行完毕。要求:根据企业破产法律制度的规定,分别回答下列问题:如果管理人决定
简述存货日常管理的内容。
医学道德评价中自身评价是医务人员
A.回盲部切除术B.右半结肠切除术C.左半横结肠、降结肠和部分乙状结肠切除术D.左半横结肠、降结肠、乙状结肠和其系膜及淋巴结切除术E.乙状结肠部分切除术盲肠癌的手术方式
下列关于公证与仲裁说法不正确的有:
货物采购成本分析方法中,()得出的目标价或估价不能保证准确性,除非用来比较的原始价格是合理的。
下列哪项不是土地估价报告的使用方向()。
根据《事业单位会计准则》的规定,事业单位的资产包括()。
在一次运动会中,对四百米接力赛的人员选拔有如下要求:①或者选拔肖光或者选拔李航②如果选拔肖光,则不能选拔郑林③只有选拔郑林,才能选择黄青④李航和黄青只能选拔一人由此可见,下列哪项正确体现了这次运动员选拔方案
编写如下事件过程:OptionBase1PrivateSubFormClick()Dimx1()AsIntegerDimiAsIntegerDimsA
最新回复
(
0
)