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

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

1. C++ 中的友元函数是什么意思?

  1. 属于某个类的函数。
  2. 可以访问类的私有成员和公共成员的函数。
  3. 在类内部定义的函数。
  4. 无法访问类成员的函数。
 

说明

正确答案是选项 (b)。友元函数是一个非成员函数,它不属于某个类,但拥有“特殊权利”,可以访问一个类并修改该类的私有或受保护成员。


2. 在 C++ 中,如何将函数声明为友元函数?

  1. friend function functionName();
  2. void friend functionName();
  3. friend void functionName();
  4. void functionName() friend;
 

说明

正确答案是选项 (c)。C++ 中的 friend 关键字主要用于在类中将函数声明为友元函数,并且函数名后也应该有函数的返回类型。


3. 一个类将另一个类声明为友元会产生什么影响?

  1. 它可以在友元类中访问声明类的所有成员。
  2. 友元类只能使用将其声明为友元的类的公共函数和数据成员。
  3. 友元类也可以访问声明类中声明为私有的成员。
  4. 友元类无法访问声明类的任何成员。
 

说明

正确答案是选项 (a)。如果一个类被声明为另一个类的友元,则声明类的所有函数成员都将获得对私有和受保护成员的访问权限。


4. 以下关于 C++ 友元函数的说法哪一项是正确的?

  1. 友元函数与成员函数具有相同的访问权限。
  2. 友元函数只能访问类的公共成员。
  3. 友元函数可以访问类的私有和受保护成员。
  4. 友元函数必须在类内部定义。
 

说明

正确答案是选项 (c)。这是因为 C++ 提供了 friend 关键字,允许函数访问其私有和受保护成员。


5. 以下哪一项不是友元函数的特征?

  1. 它们可以访问类的私有和受保护成员。
  2. 友元函数在类内部定义。
  3. 它们不是类的成员。
  4. 它们可以在类的任何地方声明。
 

说明

正确答案是选项 (b)。它们不在类内部定义。友元函数只在类内部声明。


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

  1. 0
  2. 10
  3. 垃圾值
  4. 编译错误
 

说明

正确答案是选项 (b)。在上面的代码中,show() 函数是友元函数,它被声明为可以访问类 A 的私有成员 x。因此,它将输出值 10。


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

  1. 0
  2. 20
  3. 垃圾值
  4. 编译错误
 

说明

正确答案是选项 (b)。在上面的示例中,类 B 是类 A 的友元函数,因此类 B 的成员函数 display() 可以访问类 A 的私有成员。


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

  1. 10 0
  2. 0 20
  3. 10 20
  4. 编译错误
 

说明

正确答案是选项 (c)。在上面的示例中,友元函数 shows() 可以访问类 A 的私有成员 x 和受保护成员 y。