1、面向对象程序设计第 02 章在线测试面向对象程序设计第 02 章在线测试 剩余时间: 49:15答题须知:1、本卷满分 20 分。2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题 1 分,5 道题共 5 分)1、静态成员函数 没有 ( )A、返回值 B、this 指针C、指针参数 D、返回类型2、在关键字 public 后面定义的成员为类的( )成员。A、私有 B、公用C、保护 D、任何3、假定 AB 为一个类,则执行 “AB r1r2;”语句时将自动调用该类的( )。A、无参构造
2、函数 B、带参构造函数C、赋值重载函数 D、拷贝构造函数4、一段程序的定义如下,在函数 f()中将动态对象的成员 n 的值改为 34 的语句应该为 ( ) class A int n; public: setn(int nl) nnl; A(int x) n x; int f() A * ptr new A(45);. A、A.n34; B、ptr.setn(34);C、ptr-setn(34); D、setn(34);5、假定 AB 为一个类,px 为指向该类的一个含有 n 个对象的动态数组的指针,则执行“delee px;”语句时共调用该类析构函数的次数为( )。A、0 B、1C、n D、
3、n+1第二题、多项选择题(每题 2 分,5 道题共 10 分)1、下面有关类说法正确的是(A,B,D )A、一个类可以有多个构造函数B、一个类只有一个析构函数C、析构函数需要指定参数D、在一个类中可以说明具有类类型的数据成员2、下列可以作为类的成员的是( )A、自身类对象的指针B、自身类对象C、自身类对象的引用D、另一个类的对象3、静态数据成员的初始化不是在( )中进行的。A、构造函数B、任何成员函数C、所属类D、全局区4、下面关于构造函数的说法正确的是()A、构造函数的函数名与类名相同B、构造函数可以重载C、构造函数不可以设置默认参数D、构造函数必须指定类型说明5、下面关于常对象的说法正确的
4、是( )A、在定义常对象时必须进行初始化。B、常对象的数据成员不能被更新。C、常对象不能作为类的成员。D、通过常对象可以调用该对象的成员函数第三题、判断题(每题 1 分,5 道题共 5 分)1、 某类中的友元类的所有成员函数可以存取或修改该类中的私有成员。正确 错误2、 静态成员函数允许访问类的数据成员。正确 错误3、 如果类 A 的声明中将类 B 的对象作为数据成员,则称类 A 和类 B 之间是一种 has-a 关系,类 B 是类 A 的子对象。正确 错误4、 静态数据成员不从属于任何一个具体对象,所以必须在构造函数对它初始化。正确 错误5、 建立类的对象时,先调用各个对象成员的构造函数,初始化相应的对象成员,然后才执行类的构造函数,初始化类中其他成员。正确 错误交 卷 E0F9EAFE924A44 13000206014080 091938159032