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

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

1. 友元函数可以声明为虚函数吗?

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

说明

正确答案是选项 (b)。友元函数不能声明为虚函数,因为它不是类的成员;因此,它不在虚表中。


2. 友元函数可以访问类的静态成员吗?

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

说明

正确答案是选项 (a)。友元函数可以访问类的静态成员,就像它们可以访问私有和受保护的非静态成员一样。


3. 友元函数可以声明在命名空间中吗?

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

说明

正确答案是选项 (a)。友元函数可以声明在命名空间中,它们可以是声明在相同或不同命名空间中的类的友元。


4. 从以下陈述中选择正确的定义来解释友元函数?

  1. 友元函数应该在类内部声明。
  2. 友元函数应该在类外部定义。
  3. 友元函数可以在类内部和外部定义。
  4. 友元函数不能在类外部定义。
 

说明

正确答案是选项 (b)。友元函数在类内部声明,但必须在类外部定义。


5. 以下哪个语句定义了在多个类中声明友元函数的有效方式?

  1. 在每个类中单独声明函数。
  2. 在一个类中声明函数并继承它。
  3. 在一个类中声明函数并在其他类中使用 friend 关键字。
  4. 全局使用 friend 关键字。
 

说明

正确答案是选项 (a)。为了在多个类中声明友元函数,必须在每个类中使用 friend 关键字单独声明它。


6. 一个函数可以被声明为多少个类的友元函数?

  1. 1
  2. 2
  3. 多次
 

说明

正确答案是选项 (c)。一个友元函数可以被声明为多个类的友元。