C++ 友元函数选择题练习 4

2025年5月5日 | 阅读 2 分钟

1. 下列哪个语句是 C++ 中友元函数的范围?

  1. 类范围
  2. 全局范围
  3. 受保护范围
  4. 局部
 

说明

正确答案是选项 (b)。C++ 中的友元函数具有全局范围,因为它们不是类的成员。


2. 友元函数可以声明为 const 吗?

  1. 是的
  2. 不能
  3. 两者
 

说明

正确答案是选项 (b)。声明友元函数时不能使用 const 变量,因为这些函数不是类的成员函数,不适用于类的任何实例。


3. 以下 C++ 代码的输出是什么?

  1. 1
  2. 11
  3. 0
  4. 运行时错误
 

说明

正确答案是选项 (b)。友元函数运算符 (++) 重载了增量运算符,以递增类 A 的私有成员 x 并打印结果,即 11。


4. 以下 C++ 代码的输出是什么?

  1. 5
  2. 10
  3. 15
  4. 运行时错误
 

说明

正确答案是选项 (c)。友元函数 increase() 修改了类 A 的私有成员 x,display() 成员函数打印了更新后的值,即 15。


5. 以下语法是声明类 A 友元函数的正确方式吗?

  1. 正确
  2. 不正确
  3. 以上都不是
  4. a 和 b 都是
 

说明

正确答案是选项 (b)。在声明友元函数的正确方式中,friend 之前不包含 void 关键字。


6. 是否可以使用类的对象调用友元函数?

  1. 是的
  2. 不能
  3. 两者
 

说明

正确答案是选项 (b)。友元函数不是类的成员,因此不能使用类的对象调用它。它必须独立调用。