

1、单选题:
下列关于类的描述中,错误的是( )。
选项:
A: 类可认为是一种数据类型
B: 用类所定义出的变量称为对象
C: 类包含数据成员和函数成员
D: 类成员的访问权限有2种
答案: 【 类成员的访问权限有2种】
2、单选题:
下列哪种思想不属于面向对象程序设计?( )
选项:
A: 抽象
B: 封装
C: 继承
D: 模块化
答案: 【 模块化】
3、单选题:
假设编写一个教务管理系统,通过分析可以抽象出若干个类,其中应不包括下列哪个类?( )
选项:
A: 学生类
B: 教师类
C: 课程类
D: 宿舍类
答案: 【 宿舍类】
4、单选题:
下列关于类的描述中,错误的是( )。
选项:
A: 类的数据成员也被称作属性
B: 类的函数成员也被称作方法
C: 面向对象中的分类被称作是抽象
D: 可以用流程图来描述类的设计
答案: 【 可以用流程图来描述类的设计】
5、单选题:
下列关于类定义语法的描述中,错误的是( )。
选项:
A: 定义类时需使用关键字class
B: 类定义代码通常分为声明和实现2部分
C: 完整的函数定义代码通常放在类实现部分
D: 不同类的成员之间不能重名
答案: 【 不同类的成员之间不能重名】
6、单选题:
下列关于数据成员的描述中,错误的是( )。
选项:
A: 数据成员用于保存数据
B: 数据成员的的类型只能是基本数据类型
C: 类中的数据成员之间不能重名
D: 声明数据成员不能初始化
答案: 【 数据成员的的类型只能是基本数据类型】
7、单选题:
下列关于函数成员的描述中,错误的是( )。
选项:
A: 函数成员的功能通常是对本类中数据成员进行处理
B: 函数成员访问本类中数据成员时需先定义,后访问
C: 类中的函数成员之间可以重名,即重载函数
D: 函数成员的完整定义代码可以放在声明部分,此时该函数被默认为内联函数
答案: 【 函数成员访问本类中数据成员时需先定义,后访问】
8、单选题:
类成员的访问权限不包括下列哪种权限?( )
选项:
A: public
B: private
C: protected
D: inline
答案: 【 inline】
9、单选题:
下列关于对象的描述中,错误的是( )。
选项:
A: 对象是用类定义的变量,也可称为是类的实例
B: 一个对象所占的内存空间等于其类中所有数据成员所占内存的总和
C: 一个对象只属于某一个类
D: 一个类只能定义一个对象
答案: 【 一个类只能定义一个对象】
10、单选题:
已定义一个圆的类Circle:class Circle
{
private: double r;
public:
void SetR(double x) { r = x; }
double GetArea( ) { return 3.14*r*r; }
};下列计算圆面积的代码中,正确的是( )。
选项:
A: Circle c; c.r = 10.5; cout << 3.14*c.r*c.r;
B: Circle c; c.SetR(10.5); cout << c.GetArea( );
C: Circle c; cout << c.GetArea( );
D: Circle c; SetR(10.5); cout << GetArea( );
答案: 【 Circle c; c.SetR(10.5); cout << c.GetArea( );】
11、单选题:
已定义一个圆的类Circle:class Circle
{
private: double r;
public:
void SetR(double x) { r = x; }
double GetArea( ) { return 3.14*r*r; }
};下列计算圆面积的代码中,正确的是( )。
选项:
A: Circle c, *p = &c; p.SetR(10.5); p.GetArea( );
B: Circle c, *p = c; p->SetR(10.5); p->GetArea( );
C: Circle c, *p = &c; p->SetR(10.5); p->GetArea( );
D: Circle c, *p = &c; p->GetArea( );
答案: 【 Circle c, *p = &c; p->SetR(10.5); p->GetArea( );】
1、单选题:
下列关于构造函数的描述中,错误的是( )。
选项:
A: 定义构造函数的目的主要是为了在创建对象时初始化对象的数据成员
B: 构造函数在创建对象时被自动调用。每创建一个对象,构造函数即被调用一次
C: 每个类可以定义多个构造函数,以实现不同的初始化方法
D: 构造函数应定义为类的私有成员
答案: 【 构造函数应定义为类的私有成员】
2、单选题:
下列类ABC中所定义的构造函数,错误的是( )。
选项:
A: class ABC
{
private: int x, y;
public:
ABC( ) { x = 0; y = 0; }
ABC(int a, int b) { x = a; y = b; }
};
B: class ABC
{
private: int x, y;
public:
ABC( ) { x = 0; y = 0; }
ABC(int a, int b);
};
ABC::ABC(int a, int b) { x = a; y = b; }
C: class ABC
{
private: int x, y;
public:
ABC(int a = 0, int b = 0);
};
ABC::ABC(int a, int b) { x = a; y = b; }
D: class ABC
{
private: int x = 0, y = 0;
public:
void Abc(int a, int b) { x = a; y = b; }
};
答案: 【 class ABC
{
private: int x = 0, y = 0;
public:
void Abc(int a, int b) { x = a; y = b; }
};】
3、单选题:
类ABC的默认构造函数是( )。
选项:
A: ABC( ) { }
B: void ABC( ) { }
C: Abc( ) { }
D: ABC( ) { x = 0; y = 0; }
答案: 【 ABC( ) { }】
4、单选题:
已定义类ABC:class ABC
{
private: int x, y;
public:
ABC( ) { x = 0; y = 0; }
ABC(int a, int b) { x = a; y = b; }
};执行定义对象语句:ABC obj; 则自动调用哪个构造函数?( )
选项:
A: ABC( )
B: ABC(int a, int b)
C: 依次调用这2个构造函数
D: 不调用任何构造函数
答案: 【 ABC( )】
5、单选题:
已定义类ABC:class ABC
{
private: int x, y;
public:
ABC(int a, int b) { x = a; y = b; }
};则下列定义对象语句中,错误的是( )。
选项:
A: ABC obj;
B: ABC obj(5, 10);
C: ABC obj(5, 5+5);
D: ABC *pobj = new ABC(5, 10);
答案: 【 ABC obj;】
6、单选题:
下列关于析构函数的描述中,错误的是( )。
选项:
A: 定义析构函数的目的是为了在销毁对象时清理对象的数据成员或其它一些善后工作
B: 析构函数在销毁对象时被自动调用。每销毁一个对象,析构函数即被调用一次
C: 每个类可以定义多个析构函数,以实现不同的清理方法
D: 通常,析构函数应定义为类的公有成员
答案: 【 每个类可以定义多个析构函数,以实现不同的清理方法】
7、单选题:
下列关于拷贝构造函数的描述中,错误的是( )。
选项:
A: 定义拷贝构造函数的目的主要是为了用一个已有的对象来初始化新创建的对象
B: 拷贝构造函数与其它构造函数构成重载函数
C: 每创建一个对象,拷贝构造函数即被调用一次
D: 一个类如果未定义拷贝构造函数,C++将自动为该类添加一个默认拷贝构造函数
答案: 【 每创建一个对象,拷贝构造函数即被调用一次】
8、单选题:
已定义类ABC:class ABC
{
private: int x, y;
public:
ABC( ) { x = 0; y = 0; }
ABC(int a, int b) { x = a; y = b; }
ABC(ABC &a) { x = a.x; y = a.y; }
};执行定义对象语句:ABC obj1, obj2(obj1); 则将会自动调用哪个构造函数?( )
选项:
A: ABC( )
B: ABC(ABC &a)
C: 依次调用ABC( )和ABC(int a, int b)
D: 依次调用ABC( )和ABC(ABC&a)
答案: 【 依次调用ABC( )和ABC(ABC&a)】
9、单选题:
下列关于对象的描述中,错误的是( )。
选项:
A: 类可认为是一种数据类型,用类所定义的变量称为对象,也可称为是类的实例
B: 执行对象定义语句时,计算机将为程序中的对象分配内
备案号:冀ICP备20010840号 2020-2099辉辉网络科技 All Rights Reserved