当前位置:网站首页>Day4: Multiple-choice questions required for the interview
Day4: Multiple-choice questions required for the interview
2022-08-06 00:29:00 【Slow Just Fast】
Day4:面试必考题目

题目一
下列关于构造函数的描述正确的是( ) C
A.构造函数可以声明返回类型
B.构造函数不可以用private修饰
C.构造函数必须与类名相同
D.构造函数不能带参数
解析:
A.构造函数不能有返回值,包括void类型也不行
B.Constructors can be private,It's just that the object cannot be instantiated directly afterwards
C.这是必须的
D.Constructors can take more than just parameters,还可以有多个构造函数构成重载
题目二
假定MyClass为一个类,则该类的拷贝构造函数的声明语句是( ) C
A.MyClass(MyClass x)
B.MyClass &(MyClass x)
C.MyClass(MyClass &x)
D.MyClass(MyClass *x)
解析:
A.参数必须是引用,Otherwise, infinite recursion occurs
B.语法错误
C.正确
D.This way of writing is just a normal constructor,Cannot be a copy constructor
题目三
在函数F中,本地变量a和b的构造函数(constructor)和析构函数(destructor)的调用顺序是: ( ) D
Class A;
Class B;
void F() {
A a;
B b;
}
A.b构造 a构造 a析构 b析构
B.a构造 a析构 b构造 b析构
C.b构造 a构造 b析构 a析构
D.a构造 b构造 b析构 a析构
解析:
A.构造顺序是按照语句的顺序进行构造,析构是按照构造的相反顺序进行析构,因此先构造b错误
B.aDestruction timing is wrong,对象析构要在生存作用域结束的时候才进行析构,So first destructa错误
C.bwrong construction timing,先构造a
D.正确,构造顺序是按照语句的顺序进行构造,析构是按照构造的相反顺序进行析构
题目四
以下代码共调用多少次拷贝构造函数: ( ) D
Widget f(Widget u)
{
Widget v(u);
Widget w=v;
return w;
}
main(){
Widget x;
Widget y=f(f(x));
}
A.1
B.3
C.5
D.7
解析:
A.调用拷贝构造函数的时机,从代码上看会有三种情形,1.对象初始化对象 2.函数参数以对象传递 3.函数的返回值以对 象返回,因此乍眼一看,超过1次,A错误
B.整个程序分别在,x初始化u、u初始化v、v初始化w、w返回时,注意w返回时初始u不在调用拷贝构造函数,第二次调用 f()函数时,相当于u的结合会少调用一次,其他不变,所以总体次数为4+3=7次
C.错误
D.正确
题目五
设已经有A,B,C,D4个类的定义,程序中A,B,C,D析构函数调用顺序为?( )B
C c;
int main()
{
A a;
B b;
static D d;
return 0;
}
A.D B A C
B.B A D C
C.C D B A
D.A B D C
解析:
分析:1、类的析构函数调用一般按照构造函数调用的相反顺序进行调用,但是要注意static对象的存在, 因为static改变了对象的生存作用域,需要等待程序结束时才会析构释放对象
2、全局对象先于局部对象进行构造
3、局部对象按照出现的顺序进行构造,无论是否为static
4、所以构造的顺序为 c a b d
5、析构的顺序按照构造的相反顺序析构,只需注意static改变对象的生存作用域之后,会放在局部 对象之后进行析构
6、因此析构顺序为B A D C
题目六
拷贝构造函数的特点是( )D
A.该函数名同类名,也是一种构造函数,该函数返回自身引用
B.该函数只有一个参数,是对某个对象的引用
C.每个类都必须有一个拷贝初始化构造函数,如果类中没有说明拷贝构造函数,则编译器系统会自动生成一个缺省拷贝构造函数,作为该类的保护成员
D.拷贝初始化构造函数的作用是将一个已知对象的数据成员值拷贝给正在创建的另一个同类的对象
解析:
A.拷贝构造函数也是一构造函数,Therefore there can be no return value
B.The function parameter is a reference to an object of its own type
C.The auto-generated default copy constructor,作为该类的公有成员,Otherwise, the default copy construction cannot be performed
D.Initializing an object with an object is the job of the copy constructor,故正确
边栏推荐
- 1467. 两个盒子中球的颜色数相同的概率 数学+DFS
- [统计机器学习] 线性分类模型
- 为啥强烈禁止使用Calendar?
- Uniapp H5 public authorization number
- Taught you how to locate online MySQL lock timeout problem, BaoJiao package
- iNFTnews | 元宇宙将如何改变教育?
- openCV第三篇
- IDEA中如何导入jar包、IDEA中找不到对应类改怎样解决?(详细图解过程)
- Qt入门(一)——自己动动手写一个简易的用户化界面(Qt命令行模式)
- Windows iis环境下创建织梦php网站图文教程
猜你喜欢
随机推荐
datatables 封装传给后台的参数以及拆分穿回来的参数
2022中国大健康展,山东大健康展,济南健康展,健康产业展
如何克服紧张
数据库管理系统中负责查询操作的数据库语言叫什么
Kubernetes 中的证书管理工具 - cert-manager
GPS-based NTP time synchronization server
Embedded system driver primary [7] - kernel memory management
Flutter tabbar set text background, do not delay
and is a sequence of consecutive positive numbers S
将children数组转为一位数组
harbor-offline-installer harbor安装
Kubernetes implements grayscale and blue-green releases
Day6:面试必考选择题
【论文 01】《Attention is all you need》
2022山东健博会,中国大健康产业展,产后健康展,婴儿护理展
2022 China Health Exhibition, Shandong Health Exhibition, Jinan Health Exhibition, Health Industry Exhibition
Spark基础【五种运行模式】
新型数据中心——推动数字经济发展的动力引擎
Document Object Model
手把手教你CSP系列之style-src









