使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)利用define定义常量TRUE为1,定义常量FALSE为0,请在注释//********1*******

admin2020-10-21  38

问题 使用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://jikaoti.com/ti/BAl0FFFM
0

相关试题推荐
最新回复(0)