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

admin2015-07-20  40

问题 使用打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)利用define定义常量TRUE为1,定义常量FALSE
为0,请在注释∥********1********后添加适当的语句。
(2)在类A2前增加Al的声明,请在注释∥********2********后添加适当的语句。
(3)在类C1中声明友元函数bool func(A2&a,AI&b),请在注释∥********3********后添加适当的语句。
(4)实现函数bool func(A2&obj1,Alaobj2)功能,检查两个类的值都为TRUE,则返回TRUE,请在注释∥********4********后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
  #include
  ∥********1********
  #define FALSE 0
  ∥********2********
  C1ass A2
  {
  private:
    bool m A2;
    friend bool func(A2&obj 1,
  A1&obj 2);
  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 SetAl(bool n)
    {
    m_A1=n ;
    }
    };
    bool func(A2&obj 1,AI&obj 2)
    {
    ∥********4********
recurn
)
int main()
{
    A2 obj 0;
    A1 obj 1;
    cout<    obj 0.setA2(TRUE);
    obj 1.setAl(TRUE);
    cout<    return 0;
}

选项

答案(1)添加语句:#define TRUE 1 (2)添加语句:class A1 ; (3)添加语句:friend bool func(A2&ob_{1,A1&obj 2); (4)将“return”补充完整为:return obj 1.m A2=TTUE &&j2 m_A2==TURE

解析 (1)#define命令一般将一个指定的标识符(即宏名)来代表一个字符串,其定义形式一般为:#define宏名(参数表)字符串,因此第1个标识下应添加#define TRUE1。
(2)类声明格式为:“class<类名>;”,故第2个标识下应添加“class A1”。
(3)友元不是本类的成员函数,在它的函数体内部可以通过对象名来访问类的私有成员和保护成员。友元函数是在类声明中由关键字friend修饰的非成员函数,3出添加语句:“friend bool func(A2&obj1,A1&obj2);”。
(4)函数func返回变量m A2和m Al的逻辑与运算结果,因此第4标识下应改为“retum obj1.m A2=:TRUE&&0bi2.m A1==TRUE;”。
转载请注明原文地址:https://kaotiyun.com/show/k3Np777K
0

最新回复(0)