[南开大学]20秋学期《面向对象程序设计》在线作业参考资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[南开大学]20秋学期《面向对象程序设计》在线作业
一、单选题 (共 35 道试题,共 70 分)
1.已知“int a=10,*p;int *&r=p; r=&a;*p=20;cout<<a;”,则输出为()。
[A题].10
[B题].20
[C题].不确定值
[D题].程序有错误
难点分析:此题难度中等,完成本学期课程后,回答上述题目
[参考答案是]:B
2.可以用p.a的形式访问派生类对象p的基类成员a其中a是( )。
[A题].私有继承的公有成员
[B题].公有继承的私有成员
[C题].公有继承的保护成员
[D题].公有继承的公有成员
难点分析:此题难度中等,完成本学期课程后,回答上述题目
[参考答案是]:D
3.下列关于虚函数的说明中,正确的是()。
[A题].从虚基类继承的函数都是虚函数
[B题].虚函数不得是静态成员函数
[C题].只能通过指针或引用调用虚函数
[D题].抽象类中的成员函数都是虚函数
难点分析:此题难度中等,完成本学期课程后,回答上述题目
[参考答案是]:B
4.在一个string类对象表示的字符串中查找子串,应该使用string类的()函数。
[A题].assign
[B题].insert
[C题].swap
[D题].find
难点分析:此题难度中等,完成本学期课程后,回答上述题目
[参考答案是]:D
5.执行语句“string str("abc");”时,系统会自动调用string类的构造函数()。
[A题].string()
[B题].string(const char *s)
[C题].string(const string &str)
[D题].string(size_type n, char c)
难点分析:此题难度中等,完成本学期课程后,回答上述题目
[参考答案是]:B
6.下面说法中正确的是( )。
[A题].一个类只能定义一个构造函数,但可以定义多个析构函数
[B题].一个类只能定义一个析构函数,但可以定义多个构造函数
[C题].构造函数与析构函数同名,只要名字前加了一个求反符号(~)
[D题].构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是void 类型也不可以
难点分析:此题难度中等,完成本学期课程后,回答上述题目
[参考答案是]:B
7.已知函数原型:void f(int a, int b=3,char c='*'); 则下面的函数调用中,不合法的调用是()。
[A题].f(5)
[B题].f(5,8)
[C题].f(6, , '#')
[D题].f(0,0, '#')
难点分析:此题难度中等,完成本学期课程后,回答上述题目
[参考答案是]:C
8.( )是析构函数的特征。
[A题].析构函数可以有一个或多个参数
[B题].析构函数定义只能在类体内
[C题].析构函数名与类名不同
[D题].一个类中只能定义一个析构函数
难点分析:此题难度中等,完成本学期课程后,回答上述题目
[参考答案是]:D
9.已知“int a=10;int &r=a; r=r+20;cout<<a;”,则输出为()。
[A题].10
[B题].20
[C题].30
[D题].不确定值
难点分析:此题难度中等,完成本学期课程后,回答上述题目
[参考答案是]:C
10.关于下面程序段说法正确的是( ) class X { private: int n; public: X(X&); }; X::X(X&x) {n=x.n} X obj1,obj2(obj1);
[A题].语句obj2(obj1);的功能是用对象obj1初始化具有相同类类型的对象obj2
[B题].语句obj2(obj1);的功能是用对象obj2初始化具有相同类类型的对象obj1
[C题].X(X&x)中的&符号可以删除
[D题].X(X&x)函数中不能访问对象的私有成员
难点分析:此题难度中等,完成本学期课程后,回答上述题目
[参考答案是]:A
11.类aClass的定义如下:class aClass {public: aClass(){} aClass(int。