大学MOOC 面向对象程序设计(四川大学)1452085172 最新慕课完整章节测试答案
第一章从C到C++
引用1
1、判断题:
引用定义时必须初始化
选项:
A: 正确
B: 错误
答案: 【 正确】
2、判断题:
数组可以有引用,但没有引用数组
选项:
A: 正确
B: 错误
答案: 【 错误】
3、判断题:
变量的常引用可以直接用数值初始化,例如:int a ; const int &ra=a; ra=1;
选项:
A: 正确
B: 错误
答案: 【 错误】
第一周检测3
1、单选题:
在什么情况下适宜采用inline定义内置函数。( )
选项:
A: 函数体含有循环语句
B: 函数体含有递归语句
C: 函数代码多、不常调用
D: 函数代码少、频繁调用
答案: 【 函数代码少、频繁调用】
2、单选题:
以下表示中,完全等价的是( )。
选项:
A: const char *p和char const *p
B: const char *p和char * const p
C: char const *p和char * const p
D: 以上都不对
答案: 【 const char *p和char const *p】
第一周检测6
1、判断题:
面向对象语言的特性是继承、封装、多态、类属()
选项:
A: 正确
B: 错误
答案: 【 错误】
2、判断题:
int const *p 是常指针,指针是不能改变的。( )
选项:
A: 正确
B: 错误
答案: 【 错误】
第一周测验1
1、单选题:
下面程序片段哪个没错?
选项:
A: int n = 4; int & r = n * 5;
B: int n = 6; const int & r = n; r = 7;
C: int n = 8; const int & r1 = n; int & r2 = r1;
D: int n = 8; int & r1 = n; const int r2 = r1;
答案: 【 int n = 8; int & r1 = n; const int r2 = r1;】
2、单选题:
下面程序片段输出结果是什么? int a = 1,b = 2; int & r = a; r = b; r = 7; cout << a << endl;
选项:
A: 1
B: 2
C: 7
D: 8
答案: 【 7】
3、单选题:
下面说法哪种是对的?
选项:
A: 常引用所引用的变量,其值不能被修改
B: 不能通过常量指针,去修改其指向的变量
C: 常量指针一旦指向某个变量,就不能再指向其他变量
D: 1+1 = 3
答案: 【 不能通过常量指针,去修改其指向的变量】
4、单选题:
表达式 “new int”的返回值类型是:
选项:
A: int
B: int *
C: int &
D: void
答案: 【 int *】
5、单选题:
下面小段程序,哪个是正确的:
选项:
A: char * p = new char[10]; p[0] = 'K'; delete [] p;
B: int *p = new int[25]; p[10] = 100; delete p
C: char * p = new int; p = 'a'; delete p;
D: int * p = new char[20];
答案: 【 char * p = new char[10]; p[0] = 'K'; delete [] p;】
6、单选题:
下面说法正确的是:
选项:
A: 多个重载函数的参数个数必须不同。
B: 两个函数,参数表相同,返回值类型不同,它们是重载关系。
C: 调用一个第二个和第三个参数都有有缺省值的函数时,可以不写第二个实参而写第三个实参。
D: 使用内联函数的目的是提高程序的运行速度。
答案: 【 使用内联函数的目的是提高程序的运行速度。】
第一周测验2
1、单选题:
1)面向对象的三大特征不包括( )。
选项:
A: 封装
B: 继承
C: 多态
D: 抽象
答案: 【 抽象】
2、单选题:
2)面向对象程序设计将描述事物的数据与( )封装在一起,作为一个相互依存、不可分割的整体来处理。
选项:
A: 信息
B: 数据隐藏
C: 对数据的操作
D: 数据抽象
答案: 【 对数据的操作】
第一周测验4
1、单选题:
通常情况下,函数模板中的类型参数个数不能是( )。
选项:
A: 0个
B: 1个
C: 2个
D: 3个
答案: 【 0个 】
2、单选题:
有如下语句:int a=5; int b=6; int &c=a; c=b; 执行后(a、b、c)的值分别是( )。
选项:
A: (5、6、5)
B: (5、6、6)
C: (6、6、5)
D: (6、6、6)
答案: 【 (6、6、6)】
第一周测验5
1、单选题:
重载函数在调用时选择的依据中,( )是错误的
选项:
A: 参数个数
B: 参数类型
C: 函数名字
D: 函数类型
答案: 【 函数类型】
2、单选题:
下面有关重载函数的说法中正确的是( )
选项:
A: 重载函数必须具有不同的返回值类型
B: 重载函数形参个数必须不同
C: 重载函数必须有不同的形参列表
D: 重载函数名可以不同
答案: 【 重载函数必须有不同的形参列表】
第三章(补充)类和对象提高
第三章2测验2
1、多选题:
下列可以作为类的成员的是()
选项:
A: 自身类对象的指针
B: 自身类对象
C: 自身类对象的引用
D: 另一个类的对象
答案: 【 自身类对象的指针;
自身类对象的引用;
另一个类的对象 】
2、多选题:
下面关于成员函数的说法错误的是()
选项:
A: 类定义中只能说明函数成员的函数头,不能定义函数体
B: 类中的函数成员可以在类体中定义,也可以在类体之外定义
C: 类中的函数成员在类体之外定义时必须要与类声明在同一文件中
D: 在类体之外定义的函数成员不能操作该类的私有数据成员
答案: 【 类定义中只能说明函数成员的函数头,不能定义函数体;
类中的函数成员在类体之外定义时必须要与类声明在同一文件中;
在类体之外定义的函数成员不能操作该类的私有数据成员】
3、多选题:
下面关于静态数据成员的说法错误的是()
选项:
A: 静态数据成员是类的所有对象所共有的
B: 静态数据成员要在构造函数内初始化
C: 类的每个对象有自己的静态数据成员
D: 静态数据成员不能通过类的对象调用
答案: 【 静态数据成员要在构造函数内初始化;
类的每个对象有自己的静态数据成员;
静态数据成员不能通过类的对象调用】
4、多选题:
假定AB为一个类,则执行 “AB *s=new AB(a,5);”语句的结果是
选项:
A: 动态生成对象AB 赋值给变量
B: 动态生成对象
C: 如果对象AB 中有公有成员a,则s->a可以访问该成员
D: 动态生成对象AB,该对象的地址赋值给变量s
答案: 【 如果对象AB 中有公有成员a,则s->a可以访问该成员;
动态生成对象AB,该对象的地址赋值给变量s 】
5、多选题:
下面关于常对象的说法正确的是()
选项:
A: 在定义常对象时必须进行初始化
B: 常对象的数据成员不能被更新
C: 常对象不能作为类的成员
D: 通过常对象可以调用该对象的成员函数
答案: 【 在定义常对象时必须进行初始化;
常对象的数据成员不能被更新】
第三章2测验3
1、判断题:
若Sample类中的一个成员函数说明如下: void set(Sample &a) 其中Sample &a表示的含义是a是类Sample的对象引用,用来作函数Set()的形参
选项:
A: 正确
B: 错误
答案: 【 正确】
2、判断题:
所谓私有成员是指只有类中所提供的成员函数才能直接使用它们,任何类以外的函数对它们的访问都是非法的
选项:
A: 正确
B: 错误
答案: 【 错误】
3、判断题:
某类中的友元类的所有成员函数可以存取或修改该类中的私有成员。
选项:
A: 正确
B: 错误
答案: 【 正确】
4、判断题:
静态成员函数允许访问类的数据成员。
选项:
A: 正确
B: 错误
答案: 【 正确】
5、判断题:
建立类的对象时,先调用各个对象成员的构造函数,初始化相应的对象成员,然后才执行类的构造函数,初始化类中其他成员。
选项:
A: 正确
B: 错误
答案: 【 正确】
第三章2测验里面的动物类和魔兽世界游戏要用到继承和虚函数。看来只能到最后阶段发布
1、单选题:
1) 以下说法不正确的是:
选项:
A: A) 静态成员函数中不能使用this指针
B: B) this指针就是指向成员函数所作用的对象的指针
C: C) 每个对象的空间中都存放着一个this指针
D: D) 类的非静态成员函数,真实的参数比所写的参数多1
答案: 【 C) 每个对象的空间中都存放着一个this指针】
2、单选题:
2) 下面说法哪个不正确?
选项:
A: A) 静态成员函数内部不能访问同类的非静态成员变量,也不能调用同类的非静态成员函数
B: B) 非静态成员函数不能访问静态成员变量
C: C) 静态成员变量被所有对象所共享
D: D) 在没有任何对象存在的情况下,也可以访问类的静态成员
答案: 【 B) 非静态成员函数不能访问静态成员变量】
3、单选题:
3) 以下说法正确的是:
选项:
A: A) 成员对象都是用无参构造函数初始化的
B: B) 封闭类中成员对象的构造函数先于封闭类的构造函数被调用
C: C) 封闭类中成员对象的析构函数先于封闭类的析构函数被调用
D: D) 若封闭类有多个成员对象,则它们的初始化顺序取决于封闭类构造函数中的成员初始化列表
答案: 【 B) 封闭类中成员对象的构造函数先于封闭类的构造函数被调用】
4、单选题:
4) 以下关于友元的说法哪个是不正确的?
选项:
A: A) 一个类的友元函数中可以访问该类对象的私有成员
B: B) 友元类关系是相互的,即若类A是类B的友元,则类B也是类A的友元
C: C) 在一个类中可以将另一个类的成员函数声明为友元
D: D) 类之间的友元关系不能传递
答案: 【 B) 友元类关系是相互的,即若类A是类B的友元,则类B也是类A的友元】
5、填空题:
返回什么才好呢 通过码
答案: 【 4acb5524346477b82ddef8e595af3123961e13d23df0f6ef0c4e6cd5f560e000】
6、填空题:
Big & Base 封闭类问题 通过码
答案: 【 b2f86beb7e25c4c625fbd617a515138b8daa5f623e1e554f6fcc47094ea1be19】
7、填空题:
编程填空:统计动物数量 通过码
答案: 【 3bb7b13bb30f0e6fc84a08bc0908ce2165a935bf2f68c5d444eab75e600a5b96】
8、填空题:
这个指针哪来的 通过码
答案: 【 7c66fc3fb76b418b6294226e8f822ceaaa1e6fb6a90c1785540a6a08c3dbad63】
9、填空题:
魔兽世界之一:备战 通过码
答案: 【 9dbd14ed27b8fe7a4f5d2f2859e67b587636d3f08feec5e9249966b5f272e419】
第三章1类和对象基础
第三章测验2
1、单选题:
_____是不可以作为该类的成员的。
选项:
A: 自身类对象的指针
B: 自身类的对象
C: 自身类对象的引用
D: 另一个类的对象
答案: 【 自身类的对象】
2、单选题:
运算符 • *的功能是______。
选项:
A: 用来表示指向对象指针对指向类成员指针的操作;
B: 用来表示对象对指向类成员指针的操作;
C: 用来表示指向对象指针对类成员的操作;
D: 用来表示对象对类成员的操作
答案: 【 用来表示对象对指向类成员指针的操作;】
第三章测验33个选择题还待补充
1、单选题:
_____是构造函数的特征。
选项:
A: 构造函数的函数名与类名不同;
B: 一个类中只能定义一个构造函数
C: 构造函数可以设置缺省参数
D: 构造函数必须指定类型说明
答案: 【 构造函数可以设置缺省参数】
2、单选题:
具有转换函数功能的构造函数, 应该是______。
选项:
A: 不带参数的构造函数
B: 带有一个参数的构造函数
C: 带有两个以上参数的构造函数
D: 缺省构造函数
答案: 【 带有一个参数的构造函数】
3、单选题:
以下关于 this 指针的说法中不正确的是:
选项:
A: const成员函数内部不可以使用this 指针
B: 成员函数内的this 指针,指向成员函数所作用的对象
C: 在构造函数内部可以使用this指针
D: 在析构函数内部可以使用 this 指针
答案: 【 const成员函数内部不可以使用this 指针】
4、单选题:
已知 f1( )是类 A 的公有成员函数, p 是指向成员函数 f1( )的指针, 采用_____是正确的。
选项:
A: p=A: : f1
B: p=f1
C: p=A: : f1( )
D: p=f1( )
答案: 【 p=A: : f1】
5、单选题:
以下说法中正确的是( )
选项:
A: 一个类一定会有无参数构造函数
B: 构造函数的返回值类型是void
C: 一个类只能定义一个析构函数,但可以定义多个构造函数
D: 一个类只能定义一个构造函数,但可以定义多个析构函数
答案: 【 一个类只能定义一个析构函数,但可以定义多个构造函数】
6、单选题:
对于通过new运算符生成的对象,( )
选项:
A: 在程序结束时自动析构
B: 执行delete操作时才能析构
C: 在包含该new语句的函数返回时自动析构
D: 在执行delete操作时会析构,如果没有执行delete操作,则在程序结束时自动析构
答案: 【 执行delete操作时才能析构】
7、单选题:
如果某函数的返回值是一个对象,则该函数被调用时,返回的对象( )
选项:
A: 是通过复制构造函数初始化的
B: 是通过无参数的构造函数初始化的
C: 用哪个构造函数初始化取决于函数中的return语句是怎么写的
D: 不需要初始化
答案: 【 是通过复制构造函数初始化的】
8、单选题:
以下说法中正确的是( )
选项:
A: 在静态成员函数中可以直接调用同类的其他任何成员函数
B: const成员函数不能作用于非const对象
C: 在静态成员函数中不能使用this指针
D: 静态数据成员每个对象有各自的一份
答案: 【 在静态成员函数中不能使用this指针】
9、单选题:
以下关于this指针的说法中不正确的是( )。
选项:
A: const成员函数内部不可以使用this指针
B: 成员函数内的this指针指向成员函数所作用的对象
C: 在构造函数内部可以使用this指针
D: 在析构函数内部可以使用this指针
答案: 【 const成员函数内部不可以使用this指针】
10、单选题:
下面关于友元的描述中,错误的是( )
选项:
A: 友元函数可以访问该类的私有数据成员
B: 一个类的友元类中的成员函数都是这个类的友元函数
C: 友元可以提高程序的运行效率
D: 类与类之间的友元关系可以继承
答案: 【 类与类之间的友元关系可以继承】
11、单选题:
下面对友元的错误描述是( )
选项:
A: 关键字friend用于声明友元
B: 一个类中的成员函数可以是另一个类的
