第0课 课程说明及知识预备

开课说明投票(兼具开课签到功能)

1、判断题:
‎请问你是否已观看完开课说明并已知晓课程整体安排?‌
选项:
A: 正确
B: 错误
答案: 【 正确

第1课 类和对象(1)

第1课 单元测验

1、单选题:
​下列关于类和对象的描述中,错误的是‍
选项:
A: 一个类只能有一个对象
B: 对象是类的具体实例
C: 类和对象的关系是一种数据类型与变量的关系
D: 类是对某一类对象的抽象
答案: 【 一个类只能有一个对象

2、单选题:
​没有指明访问权限的类成员,其访问权限默认为‌
选项:
A: public
B: private
C: protected
D: static
答案: 【 private

3、单选题:
‌关于封装,下列说法中不正确的是​
选项:
A: 通过封装,可以将对象的属性和操作合在一起,形成一个整体
B: 通过封装,对象的属性都是不可见的
C: 通过封装,隐藏对象的属性和实现细节,仅对外公开接口
D: 通过封装,每个对象都成为相对独立的实体
答案: 【 通过封装,对象的属性都是不可见的

4、单选题:
‌不能作为类的成员的是(           )‎
选项:
A: 本类对象
B: 另一个类的对象
C: 另一个类对象的指针
D: 本类对象的指针
答案: 【 本类对象

5、单选题:
‎A为一个类,a为该类的一个对象,f为该类的公有数据成员,则通过(    )可以访问a对象中数据成员f​
选项:
A: a.f()
B: a.f
C: a->f 
D: (*a).f()
答案: 【 a.f

6、单选题:
‌下列代码中,正确的是(      )​
选项:
A: class A{                        int x=15;  public:                                       void  show(){cout<<x;}            };
B: class A{                        int x;     public:                              void  show(){cout<<x;}            }
C: class A{                        int x;     public:                              void  show(){cout<<x;}            };x=25;
D: class A{                        int x;     public:                              void  setA(int x){ x=25;}            };
答案: 【 class A{                        int x;     public:                              void  setA(int x){ x=25;}            };

7、单选题:
‍在类中声明成员的访问属性时,可以使用关键字的是(      )‎
选项:
A: static
B: inline
C: public
D: register
答案: 【 public

8、单选题:
‎假定ClassA为一个类,int f( )为该类的一个成员函数,若该成员函数在类定义体外定义,则定义的函数头为‏
选项:
A: int f()
B: int ClassA::f()
C: ClassA::int f()
D: int f::ClassA()
答案: 【 int ClassA::f()

9、填空题:
‏声明类的关键字是                。​
答案: 【 class

10、填空题:
‍在面向对象程序设计中,将一组对象的共同特性和行为抽象出来形成______​
答案: 【 类

第1课 单元测验(前面截止时间选错了,请做这一份)

1、单选题:
‏下列关于类和对象的描述中,错误的是​
选项:
A: 一个类只能有一个对象
B: 对象是类的具体实例
C: 类和对象的关系是一种数据类型与变量的关系
D: 类是对某一类对象的抽象
答案: 【 一个类只能有一个对象

2、单选题:
‏没有指明访问权限的类成员,其访问权限默认为‍
选项:
A: public
B: private
C: protected
D: static
答案: 【 private

3、单选题:
‌关于封装,下列说法中不正确的是‎
选项:
A: 通过封装,对象的属性都是不可见的
B: 通过封装,可以将对象的属性和操作合在一起,形成一个整体
C: 通过封装,可以隐藏对象的属性和实现细节,仅对外公开接口
D: 通过封装,每个对象都成为相对独立的实体
答案: 【 通过封装,对象的属性都是不可见的

4、单选题:
‏不能作为类的成员的是(           )‏
选项:
A: 本类对象
B: 另一个类的对象
C: 另一个类对象的指针
D: 本类对象的指针
答案: 【 本类对象

5、单选题:
‍A为一个类,a为该类的一个对象,f为该类的公有数据成员,则通过(    )可以访问a对象中数据成员f​
选项:
A: a.f()
B: a.f
C: a->f 
D: (*a).f()
答案: 【 a.f

6、单选题:
‎下列代码中,正确的是(      )‏
选项:
A: class A{                        int x=15;  public:                                       void  show(){cout<<x;}            };
B: class A{                        int x;     public:                              void  show(){cout<<x;}            }
C: class A{                        int x;     public:                              void  show(){cout<<x;}            };x=25;
D: class A{                        int x;     public:                              void  setA(int x){ x=25;}            };
答案: 【 class A{                        int x;     public:                              void  setA(int x){ x=25;}            };

7、单选题:
‌在类中声明成员的访问属性时,可以使用关键字的是(      )​
选项:
A: static
B: inline
C: public
D: register
答案: 【 public

8、单选题:
‏假定ClassA为一个类,int f( )为该类的一个成员函数,若该成员函数在类定义体外定义,则定义的函数头为‏
选项:
A: int f()
B: int ClassA::f()
C: int f::ClassA()
D: ClassA::int f()
答案: 【 int ClassA::f()

9、填空题:
​声明类的关键字是                。‎
答案: 【 class

10、填空题:
‏在面向对象程序设计中,将一组对象的共同特性和行为抽象出来形成______‍
答案: 【 类

随堂测验

1、单选题:
‎下列关于C++语言类的描述中错误的是‏
选项:
A: 类用于描述事物的属性和对事物的操作
B: 类与类之间通过封装而具有明确的独立性
C: 类与类之间必须是平等的关系,而不能组成层次结构
D: 类与类之间可以通过一些方法进行通信和联络
答案: 【 类与类之间必须是平等的关系,而不能组成层次结构

2、单选题:
‌什么是成员‍
选项:
A: 类的特征
B: 类的方法
C: 类的事件
D: 以上全是
答案: 【 以上全是

3、单选题:
‎假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为‍
选项:
A: x.a
B: x.a()
C: x->a
D: x->a()
答案: 【 x.a()

4、单选题:
‎在用关键字class定义的类中,以下叙述正确的是‎
选项:
A: 在类中,不作特别说明的数据成员均为私有类型
B: 在类中,不作特别说明的数据成员均为公有类型
C: 类成员的定义必须是成员变量定义在前,成员函数定义在后
D: 类的成员定义必须放在类定义体内部
答案: 【 在类中,不作特别说明的数据成员均为私有类型

5、单选题:
‏下列有关类的说法不正确的是‌
选项:
A: 对象是类的一个实例
B: 任何一个对象只能属于一个具体的类
C: 一个类只能有一个对象
D: 类与对象的关系和数据类型与变量的关系相似
答案: 【 一个类只能有一个对象

6、单选题:
​下面关于类的概念的描述中错误的是​
选项:
A: 类是抽象数据类型的实现
B: 类是具有共同行为的若干对象的统一描述体
C: 类是创建对象的样板
D: 类就是C语言中的结构体类型
答案: 【 类就是C语言中的结构体类型

7、单选题:
‍作用域运算符的功能是‎
选项:
A: 标识作用域的级别
B: 指出对象的大小
C: 标识某个成员是属于哪一类的
D: 给出类的范围
答案: 【 标识某个成员是属于哪一类的

8、单选题:
‌下列关于成员函数特征的描述中,错误的是‌
选项:
A: 成员函数一定是内联函数
B: 成员函数可以重载
C: 成员函数可以设置参数的默认值
D: 成员函数可以是静态的
答案: 【 成员函数一定是内联函数

9、单选题:
‌在面向对象设计中,对象有很多基本特点,其中“一个系统中通常包含很多类,这些类之间呈树形结构”这一性质指的是对象的​
选项:
A: 分类性
B: 标识唯一性
C: 继承性
D: 封装性
答案: 【 继承性

10、单选题:
‍为了使得类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为:‌
选项:
A: public
B: protected
C: private
D: static
答案: 【 public

第2课 类和对象(2)

第2课 单元测验

1、单选题:
​一个类的构造函数应被定义为该类的(      )成员‍
选项:
A: 私有
B: 保护
C: 公有
D: 友元
答案: 【 公有

2、单选题:
‍类的析构函数的作用是(    )‎
选项:
A: 一般成员函数的初始化
B: 类的初始化
C: 对象的初始化 
D: 对象生存期结束时作些清理工作
答案: 【 对象生存期结束时作些清理工作

3、单选题:
‌在下面有关析构函数的描述中,错误的是(  )‏
选项:
A: 析构函数的名字可以任意定义
B: 析构函数不能带有参数
C: 如果没有定义类的析构函数,系统会帮我们创建一个析构函数
D: 一个类中只能定义一个析构函数
答案: 【 析构函数的名字可以任意定义

4、单选题:
​假如A是一个类,a,b,c是它的对象,有函数A func(A aa);下列过程中没有调用拷贝构造函数的是(     )‎
选项:
A: A  a(b);
B: A  a=b;
C: c=func(a);
D: b=a;
答案: 【 b=a;

5、单选题:
‏假定A为一个类,则执行A a,b(5),*p;语句时,自动调用该类构造函数(   )次‌
选项:
A: 2
B: 3
C: 4
D: 5
答案: 【 2

6、单选题:
‎下面(       )是正确的构造函数和析构函数的函数头部分。​
选项:
A: void AA:: AA ()      void AA::~ AA ()
B: AA:: AA (参数列表)       AA::~ AA ()
C: AA:: AA (参数列表)       AA::~ AA (参数列表)
D: void AA:: AA (参数列表)   void AA::~ AA (参数列表)
答案: 【 AA:: AA (参数列表)       AA::~ AA ()

7、单选题:
‌下面关于构造函数的说法中,不正确的是(    )​
选项:
A: 构造函数没有返回值
B: 默认的构造函数没有参数
C: 构造函数在对象创建时被自动调用
D: 如果类中没有定义默认构造函数,则系统会为该类生成一个默认构造函数
答案: 【 如果类中没有定义默认构造函数,则系统会为该类生成一个默认构造函数

8、单选题:
‌假定A为一个类,则执行“A a1[3] , a2(0) ,*p[2] ;”语句时,自动调用该类构造函数的次数为(   )。‏
选项:
A: 3
B: 4
C: 5
D: 6
答案: 【 4

9、单选题:
‌下列说法错误的是(         )‍
选项:
A: 系统生成的默认拷贝构造函数只能实现浅拷贝的功能
B: 如果只是对象值复制,采用系统生成的拷贝构造函数就够了
C: 如果自己不定义拷贝构造函数,系统会生成一个什么也不做的拷贝构造函数
D: 深拷贝使得不同的对象拥有不同的资源
答案: 【 如果自己不定义拷贝构造函数,系统会生成一个什么也不做的拷贝构造函数

10、单选题:
‏假定A为一个类,则执行A a,b(5),*p;语句时,自动调用该类构造函数(   )次‏
选项:
A: 2
B: 3
C: 4
D: 5
答案: 【 2

随堂测验

1、单选题:
‏类的构造函数被自动调用执行的情况是在定义该类的‌
选项:
A: 成员函数时
B: 数据成员时
C: 对象时
D: 友元函数时
答案: 【 对象时

2、单选题:
‍假定一个类的构造函数为“A(int aa=1, int bb=0) {a=aa; b=bb;}”, 则执行“A x (4);”语句后,x.a和x.b的值分别为‌
选项:
A: 1和0
B: 1和4
C: 4和0
D: 4和1
答案: 【 4和0

3、单选题:
‏构造函数不具备的特征的是‏
选项:
A: 构造函数的函数名与类名相同
B: 构造函数可以重载
C: 构造函数可以设置默认参数
D: 构造函数必须指定类型说明
答案: 【 构造函数必须指定类型说明

4、单选题:
‏通常,复制构造函数的参数是‍
选项:
A: 某个对象名
B: 某个对象的成员名
C: 某个对象的引用名
D: 某个对象的指针名
答案: 【 某个对象的引用名

5、单选题:
​下列情况中,不会调用复制构造函数的是​
选项:
A: 用一个对象去初始化同一类的另一个新对象时
B: 将类的一个对象赋值给该类的另一个对象时
C: 函数的形参是类的对象,调用函数进行形参和实参相结合
D: 函数的返回值是类的对象,函数执行返回调用时
答案: 【

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

发表评论

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