大学MOOC 面向对象方法与C++程序设计(大连理工大学)1449927199 最新慕课完整章节测试答案
1 面向对象概述
单元测试——从C程序到C++代码
1、单选题:
关于C++和C语言的描述中,下面哪种说法是正确的( )。
选项:
A: C++是C的一个子集
B: C程序在C++环境中可以运行
C: C++程序在C环境中可以运行
D: C++与C语言相互不兼容
答案: 【 C程序在C++环境中可以运行】
2、单选题:
关于引用,下列的说法中错误的是() 。
选项:
A: 引用变量是给被引用的变量取一个别名
B: 引用主要是用来作函数的形参和函数的返回值
C: 在声明引用变量时,要给它另开辟内存单元
D: 在声明引用时,必须同时对它进行初始化
答案: 【 在声明引用变量时,要给它另开辟内存单元】
3、单选题:
以下哪组函数能正确重载,函数调用不会产生二义性()。
选项:
A: swap( int*, int*); void swap(int*, int*);
B: void fun(char); void fun(char, char=’’);
C: int fun(int* p, int n); float fun(int a[], int&m);
D: void fun(char*, int, double); void fun(char[], int);
答案: 【 void fun(char*, int, double); void fun(char[], int);】
4、单选题:
采用重载函数的目的是()。
选项:
A: 实现代码的共享
B: 减少存储的空间
C: 提高执行的速度
D: 共享函数名,提高可读性
答案: 【 共享函数名,提高可读性】
5、单选题:
调用下列哪个函数,能交换两个指针的指向()。 char str[]="China"; char *p1 = str, *p2 = “加油”; Swap (p1, p2); cout<< p1 << p2; // 加油China
选项:
A: void Swap(char *p, char *q){ char *t = 0; t=p; p=q; q=t;}
B: void Swap(char* p, char *q){ char t; t=*p;*p=*q;*q=t;}
C: void Swap(char * *p, char * *q){ char* t = 0; t=*p;*p=*q;*q=t;}
D: void Swap(char* &p, char * &q){ char* t = 0; t=p; p=q; q=t;}
答案: 【 void Swap(char* &p, char * &q){ char* t = 0; t=p; p=q; q=t;}】
2 类与对象
类与对象单元测试1
1、单选题:
下列有关类的说法不正确的是()
选项:
A: 类是一种用户自定义的数据类型,包括数据成员和成员函数
B: 在类中private、protected和public可以按任意顺序、任意出现多次
C: 在类中如果不作特别说明,所有的数据均为私有类型
D: 在类中如果不作特别说明, 成员函数均为公有类型
答案: 【 在类中如果不作特别说明, 成员函数均为公有类型 】
2、单选题:
在类定义的外部,可以被访问的成员是
选项:
A: 所有类成员
B: private或protected的类成员
C: public的类成员
D: public或private的类成员
答案: 【 public的类成员 】
3、单选题:
以下叙述中不正确的是
选项:
A: 一个类中可以有多个同名的成员函数
B: 在一个类中可以声明另一个类的对象作为它的数据成员
C: 类定义的最后要以分号结束
D: 系统为类分配的存储空间可通过sizeof计算
答案: 【 系统为类分配的存储空间可通过sizeof计算 】
4、单选题:
以下叙述中正确的是?
选项:
A: 为了方便,推荐将类成员函数全部在类内实现
B: 类成员函数在类外实现时,语法和普通函数相同
C: 普通函数和类成员函数均可以设置默认参数
D: 普通函数可以重载,而类成员函数不可以重载
答案: 【 普通函数和类成员函数均可以设置默认参数 】
5、单选题:
假设有类class A{int a;public:A* next;A(int=0);void set(int a);};以下语句正确的为( )。
选项:
A: A a;a.a = 3;a.next = &a;
B: A *p = new A(2);p->set (3);delete p;
C: A* ptr = new A[2];delete ptr;
D: A a;a.next = new A(1);delete a;
答案: 【 A *p = new A(2);p->set (3);delete p; 】
6、单选题:
以下正确的是
选项:
A: 一个类只能定义一个构造函数
B: 一个类只能定义一个析构函数
C: 构造函数返回值类型为void
D: 一个类一定有无参构造函数
答案: 【 一个类只能定义一个析构函数 】
7、单选题:
已知类A中一个成员函数说明为:void set(A &a); ,其中A &a的含意是
选项:
A: 指向类A的指针为a;
B: 将a的地址值赋值给变量set;
C: a是类A的对象引用,用来作函数set( )的形参;
D: 变量A与a按位相与作为函数set( )的参数;
答案: 【 a是类A的对象引用,用来作函数set( )的形参; 】
8、单选题:
假定AB为一个类,则执行“AB a, b(2), c[3], *p=&a;”语句时共调用该类默认构造函数的次数为
选项:
A: 5
B: 6
C: 3
D: 4
答案: 【
