第2章类与对象1

单元测验7-1

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( );

第2章类与对象2

单元测验7-2

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( ) { }

剩余75%内容付费后可查看

发表评论

电子邮件地址不会被公开。 必填项已用*标注