C++ 友元函数选择题练习 32025年5月5日 | 阅读 3 分钟 1. 下面 C++ 代码的输出是什么?
说明 正确答案是选项 (c)。由于友元函数() 修改了类 A 的私有成员 x,因此私有成员 x 无法从主函数中立即访问。 2. 在 C++ 中声明一个以类 A 对象为参数的友元函数的正确方法是什么?
说明 正确答案是选项 (d)。友元函数可以通过值、引用或指针接收类对象。 3. 基类的友元函数能否访问派生类的私有成员?
说明 正确答案是选项 (b)。基类的友元函数可以访问基类的私有和保护成员,但不能访问派生类的成员。 4. 下面 C++ 代码的输出是什么?
说明 正确答案是选项 (d)。类“A”的私有成员“x”不能在 main() 函数中直接访问。代码 cout << obj.x; 将导致编译错误。 5. 下面 C++ 代码的输出是什么?
说明 正确答案是选项 (c)。shows() 友元函数可以访问类 A 的非 const 和 const 对象的私有成员 x。之后,它按顺序打印它们的值。 6. 关于友元函数的以下哪个说法不正确?
说明 正确答案是选项 (c)。选项 c 中的陈述是错误的,因为友元函数是在类外部声明的,而不是在类内部定义的。 7. 下面 C++ 代码的输出是什么?
说明 正确答案是选项 (b)。友元函数 doubleValue() 将类 A 的私有成员 x 的值加倍并打印结果,即 30。 8. 如果在声明函数时删除 friend 关键字,下面 C++ 代码的输出可能是什么?
说明 正确答案是选项 (d)。如果在函数声明期间删除了 friend 关键字,则表示函数(例如“setX()”)将无法访问类 A 的私有成员或保护成员。因此代码无法编译。 |
1. 如果友元函数在命名空间中声明,下列代码的输出是什么? #include<iostream> namespace ns { class A { int x; public: ...
阅读 3 分钟
1. 什么是可变参数模板?不接受任何参数的模板 接受可变数量参数的模板 只能接受一个参数的模板 以上都不是 显示答案工作区 解释:正确答案是选项 "b"。C++ 中的函数或类模板...
阅读 3 分钟
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. 在类中重载下标运算符 [] 的动机是什么? 使用索引表示法访问类成员。 执行算术运算。 连接字符串。 重载赋值。 显示答案工作区 解释:正确答案是选项 (a)。下标运算符 [] 通常被重载以允许访问...
阅读 2 分钟
1. 以下哪个语句准确地描述了 C++ 中的重载特性?函数重载是通过拥有两个或更多同名但返回类型不同或特定的函数来执行的。函数重载是通过拥有两个或更多同名但...
阅读 2 分钟
1. 友元函数可以声明为虚函数吗? 可以 不可以 都可以 无 显示答案工作区 解释:正确答案是选项 (b)。友元函数不能声明为虚函数,因为它不是类的成员;因此,它不在虚表中。 2. 友元函数可以...
阅读 2 分钟
1. 以下哪项是 C++ 中友元函数的范围? 类范围 全局范围 保护范围 局部范围 显示答案工作区 解释:正确答案是选项 (b)。C++ 中的友元函数将具有全局范围,因为它们不是类的成员。 2....
阅读 2 分钟
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. 我们可以重载 C++ 中的赋值运算符 (=) 吗? 可以 不可以 都可以 以上皆非 显示答案工作区 解释:正确答案是选项 (a)。在 C++ 中,可以重载赋值运算符以自定义类对象的赋值行为。 2. 可以使用非成员函数来重载运算符吗...
阅读 2 分钟
1. 在 C++ 中声明友元函数以重载二元 + 运算符的最佳方式是什么? class A { int value; public: A(int v) : value(v) {} friend A operator+(const A&, const A&); };...
阅读 2 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India