编程开发-C++-中级

编程开发-C++-中级

1. 一个无成员变量、无虚函数的空类,占用内存大小是(单选题)

A. 1字节

B. 0字节

C. 4字节

D. 8字节

2. 含有虚函数的类对象,内存开头存放的是(单选题)

A. 虚函数表指针

B. 第一个成员变量

C. 类名地址

D. 析构函数地址

3. 多继承下派生类拥有几个虚表指针(单选题)

A. 有几个含虚函数父类就有几个

B. 固定一个

C. 固定两个

D. 没有

4. 父类指针删除子类对象,父类析构非virtual会导致(单选题)

A. 仅调用父类析构,子类资源泄漏

B. 完整析构无问题

C. 编译报错

D. 直接段错误

5. 下列哪种函数不能定义为虚函数(单选题)

A. 构造函数

B. 析构函数

C. 普通成员函数

D. 运算符重载函数

6. 纯虚函数正确书写格式(单选题)

A. virtual void func() = 0;

B. void virtual func() 0;

C. static void func()=0;

D. const void func()=0;

7. 拥有纯虚函数的类称为(单选题)

A. 抽象类,无法实例化

B. 虚基类

C. 接口实例类

D. 静态类

8. 解决菱形继承数据冗余与二义性用(单选题)

A. virtual虚继承

B. 公有继承

C. 私有继承

D. 多层普通继承

9. C++11右值引用符号是(单选题)

A. &&

B. &

C. *

D. ::

10. std::move函数作用本质是(单选题)

A. 强制将左值转为右值引用

B. 直接移动内存数据

C. 释放原对象

D. 完成深拷贝