C++ 友元函数选择题练习 52025年5月5日 | 阅读 2 分钟 1. 友元函数可以声明为虚函数吗?
说明 正确答案是选项 (b)。友元函数不能声明为虚函数,因为它不是类的成员;因此,它不在虚表中。 2. 友元函数可以访问类的静态成员吗?
说明 正确答案是选项 (a)。友元函数可以访问类的静态成员,就像它们可以访问私有和受保护的非静态成员一样。 3. 友元函数可以声明在命名空间中吗?
说明 正确答案是选项 (a)。友元函数可以声明在命名空间中,它们可以是声明在相同或不同命名空间中的类的友元。 4. 从以下陈述中选择正确的定义来解释友元函数?
说明 正确答案是选项 (b)。友元函数在类内部声明,但必须在类外部定义。 5. 以下哪个语句定义了在多个类中声明友元函数的有效方式?
说明 正确答案是选项 (a)。为了在多个类中声明友元函数,必须在每个类中使用 friend 关键字单独声明它。 6. 一个函数可以被声明为多少个类的友元函数?
说明 正确答案是选项 (c)。一个友元函数可以被声明为多个类的友元。 下一个主题C++ 中的重载 MCQ 练习 1 |
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. 在类中重载下标运算符 [] 的动机是什么? 使用索引表示法访问类成员。 执行算术运算。 连接字符串。 重载赋值。 显示答案工作区 解释:正确答案是选项 (a)。下标运算符 [] 通常被重载以允许访问...
阅读 2 分钟
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. 如何定义具有多个返回类型的模板函数? 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++ 中的友元函数是什么意思? 属于一个类的函数。 可以访问类私有成员和公有成员的函数。 在类内部定义的函数。 无法访问类成员的函数。 显示...
阅读 3 分钟
1. C++ 模板的主要目的是什么? 增强安全性 提高性能 代码重用 简化语法 显示答案工作区 解释:正确答案是选项 "c"。在 C++ 中,模板主要用于通过使函数和类能够使用任何类型的数据来实现代码重用。通过使用...
阅读 3 分钟
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. 什么是可变参数模板?不接受任何参数的模板 接受可变数量参数的模板 只能接受一个参数的模板 以上都不是 显示答案工作区 解释:正确答案是选项 "b"。C++ 中的函数或类模板...
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India