18春北理工《面向对象程序设计》在线作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(单选题) 1: 下列情况中,不会调用复制构造函数的是()。
A: 用一个对象去初始化同一类的另一个新对象时
B: 将类的一个对象赋值给该类的另一个对象时
C: 函数的形参是类的对象,调用函数用形参初始化实参时
D: 函数的返回值是类的对象,函数执行返回调用时
正确答案:
(单选题) 2: 对语句(1)constint*x;和语句(2)int*constx;,描述正确的是()。
A: 语句(1)的含义是指针变量x不能更改
B: 语句(2)的含义是指针变量x所指向的值不能更改
C: 语句(2)的含义是指针变量x不能更改
D: 语句(1)和(2)是相同含义的不同定义方式
正确答案:
(单选题) 3: 下列关于类型转换的描述中,正确的是()。
A: 由不同类型操作数组成的表达式的类型一定是最高类型double类型
B: 强制类型转换都是非保值映射
C: 赋值表达式的类型是左值的类型
D: 类型转换是永久性的
正确答案:
(单选题) 4: 整型变量中,八进制数的数字前面需要加数字()
A: 8
B: 0X
C: 不需要
D: 0
正确答案:
(单选题) 5: 将一些函数体代码不是很大,但被频繁调用的函数定义为(),可以解决程序中函数调用的效率问题。
A: 重载函数
B: 内联函数
C: 递归函数
D: 友元函数
正确答案:
(单选题) 6: 对虚函数的调用()
A: 一定使用动态联编
B: 必须使用动态联编
C: 一定使用静态联编
D: 不一定使用动态联编
正确答案:
(单选题) 7: 定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为()。
A: int*p=newint[30]
B: int*p=newint(30)
C: int*p=new[30]int*p=new[30]
D: *p=newint[30]
正确答案:
(单选题) 8: 下列函数参数默认值定义错误的是()。
A: Fun(int x=0,int y=0)
B: Fun(int x,int y)
C: Fun(int x,int y=0)
D: Fun(int x=0,int y)
正确答案:
(单选题) 9: 在派生类中重新定义虚函数时,除了()方面,其他方面都必须与基类中相应的虚函数保持一致。
A: 参数个数
B: 参数类型
C: 函数名称
D: 函数体
正确答案:
(单选题) 10: 下列不是C++基本数据类型的是______。
A: int
B: string
C: char
D: void
正确答案:
(单选题) 11: 关于运行时多态的下列描述中,______是错误的。
A: 运行时多态是以虚函数为基础的;
B: 运行时多态是在运行时确定所调用的函数代码的;
C: 用基类指针或引用所标识的派生类对象来操作虚函数才能实现运行时多态;
D: 运行时多态是在编译时确定操作函数的
正确答案:
(单选题) 12: 在下列的各类函数中,______不是类的成员函数。
A: 构造函数
B: 析构函数
C: 友元函数
D: 拷贝构造函数
正确答案:
(单选题) 13: 友元运算符obj1>obj2被C++编译器解释为()。
A: operator >(obj1,obj2)
B: >(obj1,obj2)
C: obj2.operator >(obj1)
D: obj1.operator >(obj2)
正确答案:
(单选题) 14: 下列关于C++函数的描述中,正确的是()。
A: 每个函数至少要有一个参数
B: 每个函数都必须返回一个值
C: 函数在被调用之前必须先进行声明或定义
D: 函数不能自己调用自己
正确答案:
(单选题) 15: 下列关于静态数据成员特性的描述中,错误的是()。
A: 说明静态数据成员时前边要加修饰符static
B: 静态数据成员要在类体外进行初始化
C: 静态数据成员不是所有对象所共有的
D: 引用静态数据成员时,要在其名称前加<类名>和作用域运算符
正确答案:
(单选题) 16: 下列类说明中,错误的是()。classSample{public:Sample(intval);//A~Sample();//Bprivate:inta=2.5;//CSample();//D};
A: //A
B: //B
C: //C
D: //D
正确答案:
(单选题) 17: 多继承时对象的构造顺序中包含如下4步:①所有非虚基类的构造函数按照它们被继承的顺序构造;②所有虚基类的构造函数按照它们被继承的顺序构造;③所有子对象的构造函数按照它们声明的顺序构造;④派生类自己的构造函数体;这4个步骤的正确顺序是()。
A: ④③①②
B: ②④③①
C: ②①③④
D: ③④①②
正确答案:
(单选题) 18: 复制构造函数的参数通常为()
A: 某个对象名
B: 某个对象的成员名
C: 某个对象的引用名
D: 某个对象的指针名
正确答案:
(单选题) 19: 设置虚基类的目的是()。
A: 简化程序
B: 消除二义性
C: 提高运行效率
D: 减少目标代码
正确答案:
(单选题) 20: 列符号中能够作为C++标识符的是()。
A: const
B: 2a
C: _shape
D: _count
正确答案:
(单选题) 21: 变量s的定义为“char*s=”Helloworld!”;”,要使变量p指向s所指向的同一个字符串,则应选取()。
A: char*p=s
B: char*p=&s
C: char*p;p=*s
D: char*p;p=&s
正确答案:
(单选题) 22: 有如下头文件:intf1();staticintf2();classMy{public:intf3();staticintf4();};在上述4个函数中,具有隐含的this指针的是()。
A: f1
B: f2
C: f3
D: f4
正确答案:
(单选题) 23: 下列关键字中不能用来声明类成员访问权限的是()。
A: public
B: static
C: protected
D: private
正确答案:
(单选题) 24: 如果派生类以protected方式继承基类,则基类的protected成员和public成员在派生中的访问权限分别为()。
A: public和public
B: public和protected
C: protected和public
D: protected和public
E: protected和protected
正确答案:
(单选题) 25: 不可以成为类的数据成员的是______
A: 自身类的对象
B: 另一个类的对象
C: 自身类的指针或引用
D: 其他基本数据类型
正确答案: