C++ 友元函数选择题练习 12025年5月5日 | 阅读 3 分钟 1. C++ 中的友元函数是什么意思?
说明 正确答案是选项 (b)。友元函数是一个非成员函数,它不属于某个类,但拥有“特殊权利”,可以访问一个类并修改该类的私有或受保护成员。 2. 在 C++ 中,如何将函数声明为友元函数?
说明 正确答案是选项 (c)。C++ 中的 friend 关键字主要用于在类中将函数声明为友元函数,并且函数名后也应该有函数的返回类型。 3. 一个类将另一个类声明为友元会产生什么影响?
说明 正确答案是选项 (a)。如果一个类被声明为另一个类的友元,则声明类的所有函数成员都将获得对私有和受保护成员的访问权限。 4. 以下关于 C++ 友元函数的说法哪一项是正确的?
说明 正确答案是选项 (c)。这是因为 C++ 提供了 friend 关键字,允许函数访问其私有和受保护成员。 5. 以下哪一项不是友元函数的特征?
说明 正确答案是选项 (b)。它们不在类内部定义。友元函数只在类内部声明。 6. 以下 C++ 代码的输出是什么?
说明 正确答案是选项 (b)。在上面的代码中,show() 函数是友元函数,它被声明为可以访问类 A 的私有成员 x。因此,它将输出值 10。 7. 以下 C++ 代码的输出是什么?
说明 正确答案是选项 (b)。在上面的示例中,类 B 是类 A 的友元函数,因此类 B 的成员函数 display() 可以访问类 A 的私有成员。 8. 以下 C++ 代码的输出是什么?
说明 正确答案是选项 (c)。在上面的示例中,友元函数 shows() 可以访问类 A 的私有成员 x 和受保护成员 y。 下一个主题C++ 友元函数 MCQ 练习 2 |
1. 在 C++ 中声明友元函数以重载二元 + 运算符的最佳方式是什么? class A { int value; public: A(int v) : value(v) {} friend A operator+(const A&, const A&); };...
阅读 2 分钟
C++ 多项选择题 MCQ 基于 C++ 基础 1) #include<userdefined.h> 以下哪项是将头文件添加到 C++ 程序的正确语法? #include<userdefined> #include "userdefined.h" <include> "userdefined.h" A 和 B 都显示答案工作区 答案:D 解释:要在 C++ 程序中包含头文件,用户可以使用任何...
阅读 22 分钟
1. 如果友元函数在命名空间中声明,下列代码的输出是什么? #include<iostream> namespace ns { class A { int x; public: ...
阅读 3 分钟
1. 以下 C++ 代码的输出是什么? #include<iostream> using namespace std; class A { int x; public: A(int val) : x(val) {} friend void modify(A &a); }; void modify(A &a) { a.x += 5; } int main()...
阅读 3 分钟
1. 我们可以重载 C++ 中的赋值运算符 (=) 吗? 可以 不可以 都可以 以上皆非 显示答案工作区 解释:正确答案是选项 (a)。在 C++ 中,可以重载赋值运算符以自定义类对象的赋值行为。 2. 可以使用非成员函数来重载运算符吗...
阅读 2 分钟
1. 以下哪项是 C++ 中友元函数的范围? 类范围 全局范围 保护范围 局部范围 显示答案工作区 解释:正确答案是选项 (b)。C++ 中的友元函数将具有全局范围,因为它们不是类的成员。 2....
阅读 2 分钟
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. 下列代码的输出是什么? #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. 如何定义具有多个返回类型的模板函数? template <T, U> class functionName(U parameter) template class <T, U> functionName(U parameter) template <class T, class U> T functionName(U parameter) template <T, U> functionName(T parameter) 显示答案工作区 解释:正确答案是选项 "a"。此语法定义了一个模板函数...
阅读 3 分钟
1. 什么是可变参数模板?不接受任何参数的模板 接受可变数量参数的模板 只能接受一个参数的模板 以上都不是 显示答案工作区 解释:正确答案是选项 "b"。C++ 中的函数或类模板...
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India