C++ 友元函数选择题练习 22025年5月5日 | 阅读 3 分钟 1. 如果友元函数在命名空间中声明,以下代码的输出是什么?
说明 正确答案是选项 (a)。在命名空间 ns 中声明的友元函数 shows() 可以访问在同一命名空间中声明的类 A 的私有成员 x。它将输出值 15。 2. 以下 C++ 代码的输出是什么?
说明 正确答案是选项 (b)。在此示例中,print() 函数是一个友元函数,它具有对类 A 对象的常量引用,并打印私有成员变量 x 的值,该值为 42。 3. 类 A 中友元函数的声明语法是否正确?
说明 正确答案是选项 (b)。正确的语法中在 friend 之前没有关键字,它必须是 friend void display()。 4. 以下哪个语句最能描述友元函数与类的关系?
说明 正确答案是选项 (b)。C++ 中的友元函数不是类的成员,但它对类的私有和受保护成员具有特殊访问权限。 5. 以下 C++ 代码的输出是什么?
说明 正确答案是选项 (b)。友元函数 display() 可以访问类 A 的私有成员 x 和类 A 的静态成员 y。之后,它显示成员变量的值。 6. 以下关于友元类的哪个语句是正确的?
说明 正确答案是选项 (b)。当一个类被声明为另一个类的友元时,它可以访问该类的私有和受保护成员。 7. 以下关于友元函数的哪个语句不正确?
说明 正确答案是选项 (c)。这些函数在友元类中声明,尽管它们在另一个类中定义,但它们应该在类外部定义。 8. 在 C++ 中声明函数时使用 friend 关键字的目的是什么?
说明 正确答案是选项 (b)。C++ 中的友元函数用于允许函数访问类的私有和公共成员,以便轻松控制函数和类之间的交互。 |
C++ MCQ - 第二部分 这些关于“C++ 编程”的多项选择题和答案 (MCQ) 侧重于 C++ 编程的所有领域,涵盖了几乎所有主题。这些主题选自最权威和最佳的 C++ 编程参考书籍的集合。 1) 以下哪项...
阅读 15 分钟
1. 以下代码的输出是什么? #include <iostream> template <class T> T add(T a, T b) { return a + b; } int main() { std::cout << add<int>(2, 3); return 0; } 5 编译错误 0 23 显示答案工作区 解释:正确答案...
阅读 3 分钟
1. 以下哪个语句准确地描述了 C++ 中的重载特性?函数重载是通过拥有两个或更多同名但返回类型不同或特定的函数来执行的。函数重载是通过拥有两个或更多同名但...
阅读 2 分钟
1. 在 C++ 中声明友元函数以重载二元 + 运算符的最佳方式是什么? class A { int value; public: A(int v) : value(v) {} friend A operator+(const A&, const A&); };...
阅读 2 分钟
1. 以下哪项是 C++ 中友元函数的范围? 类范围 全局范围 保护范围 局部范围 显示答案工作区 解释:正确答案是选项 (b)。C++ 中的友元函数将具有全局范围,因为它们不是类的成员。 2....
阅读 2 分钟
1. 友元函数可以声明为虚函数吗? 可以 不可以 都可以 无 显示答案工作区 解释:正确答案是选项 (b)。友元函数不能声明为虚函数,因为它不是类的成员;因此,它不在虚表中。 2. 友元函数可以...
阅读 2 分钟
1. 下列代码的输出是什么? #include<iostream> using namespace std; class Complex { public: int real, imag; Complex(int r, int i): real(r), imag(i) {} Complex operator+(const Complex &c) { ...
阅读 3 分钟
1. C++ 中的友元函数是什么意思? 属于一个类的函数。 可以访问类私有成员和公有成员的函数。 在类内部定义的函数。 无法访问类成员的函数。 显示...
阅读 3 分钟
1. 什么是可变参数模板?不接受任何参数的模板 接受可变数量参数的模板 只能接受一个参数的模板 以上都不是 显示答案工作区 解释:正确答案是选项 "b"。C++ 中的函数或类模板...
阅读 3 分钟
1. C++ 模板的主要目的是什么? 增强安全性 提高性能 代码重用 简化语法 显示答案工作区 解释:正确答案是选项 "c"。在 C++ 中,模板主要用于通过使函数和类能够使用任何类型的数据来实现代码重用。通过使用...
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India