西安交通大学17年9月课程考试《面向对象程序设计》作业考核试题
一、单选题(共 30 道试题,共 60 分。)
1. 如果表达式a+b中的“+”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为( )。 A. a.operator+(b) B. b.operator+(a) C. operator+(a,b) D. operator(a+b) 正确答案:
2. 派生类的成员函数可以直接访问基类的( )成员。 A. 所有
B. 公有和保护 C. 保护和私有 D. 私有 正确答案:
3. 定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为( )。 A. int *p=new int[30]; B. int *p=new int(30); C. int *p=new [30]; D. *p=new int[30]; 正确答案:
4. 下列的符号常变量定义中,错误的定义是( )。 A. const M=10; B. const int M=20; C. const char ch;
D. const bool mark=true; 正确答案:
5. 类的析构函数是一个对象被( )时自动调用的。 A. 建立 B. 撤消 C. 赋值 D. 引用
正确答案:
6. 在创建派生类对象时,构造函数的执行顺序是()。
A. 对象成员构造函数、基类构造函数、派生类本身的构造函数 B. 派生类本身的构造函数、基类构造函数、对象成员构造函数 C. 基类构造函数、派生类本身的构造函数、对象成员构造函数 D. 基类构造函数、对象成员构造函数、派生类本身的构造函数 正确答案:
7. 类的析构函数的作用是( )。 A. 一般成员函数 B. 类的初始化 C. 对象的初始化
D. 对象释放后的操作 正确答案:
8. 下列关于成员函数特征的描述中,( )是错误的。 A. 成员函数一定是内置函数 B. 成员函数可以重载
C. 成员函数可以设置参数的默认值 D. 成员函数可以是静态的 正确答案:
9. 类的析构函数是在( )调用的。 A. 类创建时 B. 创建对象时
C. 对象生命期结束时 D. 不自动调用 正确答案:
10. C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是( )。 A. 增加了一些新的运算符
B. 允许函数重载,并允许设置缺省参数 C. 规定函数说明符必须用原型 D. 引进了类和对象的概念 正确答案:
11. 假定AB为一个类,则执行 “AB x(a,5);”语句时将自动调用该类的 ( )。 A. 带参构造函数 B. 无参构造函数 C. 复制构造函数 D. 赋值重载函数 正确答案:
12. 假定AB为一个类,则执行 “AB x;”语句时将自动调用该类的()。 A. 带参构造函数 B. 无参构造函数 C. 拷贝构造函数 D. 赋值重载函数 正确答案:
13. 一个类的构造函数为 “B(int ax, int bx): a(ax), b(bx) {}”,执行 “B x(1,2),y(3,4);x=y;”语句序列后x.a的值为()。 A. 1 B. 2 C. 3 D. 4
正确答案:
14. 假定AA是一个类,abc是该类的一个成员函数,则参数表中隐含的第一个参数的类型为( )。 A. int B. char C. AA D. AA* 正确答案:
15. 下面是重载双目运算符+的普通函数原形,其中最符合+原来含义的是()。 A. Value operator+(Value, Value); B. Value operator+(Value,int);
C. Value &operator+(Value, Value*); D. Value &operator+(Value&, Value&); 正确答案:
16. 用new运算符创建一个含有10个元素的一维整型数组的正确语句是( )。 A. int p = new int(10); B. int p = new int[10]; C. int *p = new int [10]; D. int *p = new int(10); 正确答案:
17. 假定AA是一个类,abc是该类的一个成员函数,则参数表中隐含的第一个参数为( )。 A. abc B. *this C. this D. this& 正确答案:
18. 在定义一个派生类时,若不使用保留字显式地规定采用何种继承方式,则默认为( )方式。
A. 私有继承 B. 非私有继承 C. 保护继承 D. 公用继承 正确答案:
19. 下列特性不是面向对象程序设计语言所特有的是( )。 A. 数据封装 B. 继承 C. 多态性
D. 模板 正确答案:
20. 假定AB为一个类,则执行 “AB a[10];”语句时调用该类无参构造函数的次数为( )。 A. 0 B. 1 C. 9 D. 10
正确答案:
21. 构造函数不具备的特征是( )。 A. 构造函数的函数名与类名相同 B. 构造函数可以重载
C. 构造函数可以设置默认参数 D. 构造函数必须指定类型说明 正确答案:
22. 实现运行时的多态性要使用( )。 A. 重载函数 B. 析构函数 C. 构造函数 D. 虚函数 正确答案:
23. 能够释放对象所占资源的是( )。 A. 析构函数 B. 数据成员 C. 构造函数
D. 静态成员函数 正确答案:
24. 基类和派生类可以分别称为()。 A. “大类”和“小类” B. “父类”和“子类” C. “小类”和“大类” D. “子类”和“父类” 正确答案:
25. 一个类的析构函数通常被定义为该类的( )成员。 A. 私有 B. 保护 C. 公用 D. 友元 正确答案:
26. 当类中的一个整型指针成员指向一块具有n*sizeof(int)大小的存储空间时,它最多能够存储()个整数。 A. n B. n+1 C. n-1
D. 1
正确答案:
27. 以下正确的函数原型语句是( )。 A. double fun(int x,int y) B. double fun(int x;int y) C. double fun(int,int); D. double fun(int x,y); 正确答案:
28. 采用重载函数的目的是( )。 A. 函数模板也是一个具体类型的函数
B. 函数模板的类型参数与函数的参数是同一个概念
C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数定义 D. 用函数模板定义的函数没有类型 正确答案:
29. 假定一个类对象数组为A[n],当离开它定义的作用域时,系统自动调用该类析构函数的次数为( )。 A. 0 B. 1 C. n D. n-1
正确答案:
30. 以下关于函数模板的论述中,正确的是()。
A. 一旦定义了函数模板,就不能再定义同名的重载函数
B. 从同一个函数模板实例化后得到的多个模板函数属于函数重载; C. 函数模板中只有一种参数;
D. 在定义函数模板时,template语句与函数模板定义语句之间可以有别的语句。 正确答案:
西安交通大学17年9月课程考试《面向对象程序设计》作业考核试题
二、判断题(共 20 道试题,共 40 分。)
1. 使用new运算符创建数组时,可以为该数组指定初始值( )。 A. 错误 B. 正确
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库西安交通大学17年9月课程考试《面向对象程序设计》作业考核试题在线全文阅读。
相关推荐: