首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)利用define定义常量TRUE为1,定义常量FALSE为0,请在注释//********1*******
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)利用define定义常量TRUE为1,定义常量FALSE为0,请在注释//********1*******
admin
2020-10-21
68
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)利用define定义常量TRUE为1,定义常量FALSE为0,请在注释//********1********后添加适当的语句。
(2)在类A2前增加A1的声明,请在注释//********2********后添加适当的语句。
(3)在类C1中声明友元函数bool func(A2&a,AI&b),请在注释//********3********后添加适当的语句。
(4)实现函数bool func(A2&objl,Al&obj2)功能,检查两个类的值都为TRUE,则返回TRUE,请在注释//********4********后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
1 #include
2 //********1********
3
4 #define FALSE 0
5 //********2********
6
7 class A2
8 {
9 private:
10 b001 m A2;
11 friend bool func(A2& obj1, A1& obj2);
12 public:
13 A2()
14 {
15 m_A2=FALSE ;
16 }
17 publiC:
i8 void setA2(bool n)
19 {
20 m_A2=n;
21 }
22 };
23 class A1
24 {
25 private:
26 bool m A1 ;
27 //********3********
28
29 public:
30 A1()
31 {
32 m_A1=TRUE;
33 }
34 publiC:
35 void setAl(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 obj 0 ;
48 A1 obj1;
49 cout<
50 obj0.setA2(TRUE);
51 obj1.setAl(TRUE);
52 cout<
53 return 0 ;
54 }
选项
答案
(1)添加语句:#define TRUE 1 (2)添加语句:class A1; (3)添加语句:friend boo].func(A2&obl1,A1&obj2); (4)将“return”补充完整为:return obj1.m A2==TRUE && obj2.m_A1==TRUE ;
解析
程序当中定义了两个类,每个类中具有一个bool型成员变量,函数func(A2&objl,Al&obj2)功能是检查这两个类的成员变量值是否都为TRUE,如果均为TRUE返回真,否则返回FALSE,相当于一个逻辑与运算。
[解题思路]
(1)#define命令一般将一个指定的标识符(即宏名)来代表一个字符串,其定义形式一般为:#define宏名(参数表)字符串,因此第1个标识下应添加#define TRUE 1。
(2)类声明格式为:“class<类名>:”,故第2个标识下应添加“classAl:”。
(3)友元不是本类的成员函数,在它的函数体内部可以通过对象名来访问类的私有成员和保护成员。友元函数是在类声明中由关键字friend修饰的非成员函数,3出添加语句:“friend bool func(A2&0bjl,A1&obj2);”。
(4)函数func返回变量m A2和m Al的逻辑与运算结果,因此第4标识下应改为“return obil.m A2==TRUE&&obj2.m A1==TRUE;”。
转载请注明原文地址:https://kaotiyun.com/show/P8yp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正错误,使得程序正常运行。并使程序输出结果为:ABCDEFABCDEFABCDEF注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//*
下面叙述错误的是()。
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正错误,使得程序正确执行,并且输出以下语句:TestClass1:0TestClass2注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//
有如下程序:#inc1ude<iostream>usingnamespacestd;intmain(){intf,f1=0,f2=1;for(inti.3;i<=6;i++){
下列选项中不属于面向对象程序设计特征的是()。
面向对象方法中,继承是指()。
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数。而非虚函数不支持多态调用。有如下程序:#inc1ude<iostream>usingnamespaces
数据库应用系统中的核心问题是()。
下列关于运算符重载的叙述中,正确的是()。
算法的空间复杂度是指()。
随机试题
职能合并
简述结石预防的原则。
药品用法说明中“口服1次4~8片”的表述反映了
A.Insall指数B.Sign指数C.Garden指数D.FTA角E.Pauwels角描述骨质疏松的程度的是
借助玻璃表面上涂一层折射率n=1.38的MgF2透明薄膜,可以减少折射率为n’=1.60的玻璃表面的反射。当波长为λ=500nm的单色光垂直入射时,为了实现最小的反射,则此透明薄膜的最小厚度为( )。
某堤防工程项目业主与承包商签订了工程施工承包合同。合同中估算工程量为5300m3,单价为180元/m3。合同工期为6个月。有关付款条款如下:(1)开工前业主应向承包商支付估算合同总价20%的工程预付款;(2)业主自第一个月起,从承包商的
经盘点损失的面粉应转出进项税额( )元。经盘点损失的食品应转出进项税额( )元。
【2012年济宁市市属真题】下列对我国义务教育法规理解错误的有()。
-6,-7,1,-26,38,()。
[A]obligation[I]contribution[B]occurs[J]distribution[C]significant[K]primarily[D]prior[L]convert[E]available
最新回复
(
0
)