Appearance
txt
6.调用一成员函数时,使用动态联编为情况是?
A) 通过对象调用一虚函数
B) 通过指针或引用调用一虚函数 ✔️
C) 通过对象调用静态函数
D) 通过指针或应用调用一静态函数动态联编就是运行时多态,是基类指针只须派生类对象,调用派生类对基类的虚函数重写函数的情况。
txt
7.关于类模板的说法正确的是:
A) 类模板的主要作用是生成抽象类
B) 类模板实例化时,编译器根据给出的模板实参生成一个类 ✔️
C) 在类模板中的数据成员具有同样类型
D) 类模板中的成员函数没有返回值txt
8.关于类成员函数的重载的说法错误的是
A) 相同的范围
B) 函数名字相同
C) 参数相同✔️
D) virtual关键字可有可无参数的顺序不相同也是也可重载的,这里的参数不同应该是包括顺序不相同的情况。CPP_函数重载
txt
9.虚析构函数的作用是
A) 虚基类必须定义虚析构函
B) 类对象作用域结束时释放资源✔️
C) delete动态对象时释放资源
D) 无意义txt
11.下面有关类的静态成员和非静态成员,说法错误的是
A) 静态成员存在于内存,非静态成员需要实例化才会分配内存
B) 非静态成员可以直接访问类中静态的成员
C) 静态成员能访间非静态的成员✔️
D) 非静态数员的生存期决定于该对象的生存期,而静态成员生存期则与程序生命
期相同txt
12.下面关于虚函数的描述,错误的是
A) 在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数
B) 基类中说明了虚函数后,拍生类中对应的函数也必须说明为虚函数✔️
C) 虚函数可以是另一个类的友元函数,但不能是静态成员函数
D) 基类中说明的纯虚函数在其任何需要实例化的派生类中都必须实现txt
13.以下关于C++的描述中哪一个是正确的
A) 任何指针都必须指向一个实例
B) 子类指针不可以指向父类实例
C) 任何引用都必须指向一个实例 ✔️
D) 引用所指向的实例不可能无效txt
对于派生类的构造函数,在定义对象时的构造函数的执行顺序为
1:成员对象的构造函数
2:基类的构造函数
3:派生类本身的构造函数
A)123B)231C)321D)213✔️cpp
#include <iostream>
using namespace std;
struct A {
A() {cout << "A::A" << endl;}
~A() {cout <<"A::~A"<<endl;}
};
struct B:public A {
B() {cout << "B::B" << endl;}
~B() {cout <<"B::~B"<<endl;}
};
int main() {
A* a = new B;
delete a;
}
# 以上程输出的结果为:
A)
A::A
B::B
B::~B
A::~A
B)
A::A
B::B
A::~A
B::~B
C)✔️
A::A
B::B
A::~A
D)
A::A
B::B
B::~B需要在将 A 的析构设置为虚析构函数才能释放 A 的空间
txt
16.下列不属于访间控制符的是
A)public
B)private
C)protected
D)static✔️txt
17.在C++语言中,以下说法正确的是
A) 静态多态是通过虚表实现的
B) 构造函数可以声明为虚函数入
C) 析构函数不可以声明为虚函数入
D) 抽象类中至少包含一个纯虚函数✔️txt
18.以下C语言和C++语言比较中错误的是
A) C语言绝大部分语法适用于C++
B) C语言和C++的struct意义和用法一致✔️
C) C语言不能使用继承技术,但C++可以
D) C++是面向对象的语言,C语言是面向过程的语言txt
19. 下面关于C++拷贝构造函数说法错误的是
A) 产生了新的对象实例,调用的就是拷贝构造函数:如果没有,调用的是赋值运算符
B) 没有定义拷贝构造函数的话,编译器不会默认自动产生拷贝构造函数✔️
C) 类中可以存在超过一个拷贝构造函数
D) 声明一个私有拷贝构造函数可以防止按值传递对象txt
20.以下哪项描述是正确的
A)父类的构造函数与析构函数不会自动被调用
B)析构函数可以被继承
C)父类中定义的静态成员,不可以在子类中直接调用
D)包含纯虚方法的类为抽象类,抽象类不能被实例化✔️