|
18秋学期(1703)《面向对象程序设计》在线作业
南开作业答案
【南开大学在线作业是随机作业】
一、单选题:
1. 类aClass的定义如下:\nclassaClass\n{public:\naClass(){}\naClass(inti){value=newint(i);}\nint*value;\n}\n若要对类中的value赋值,则下面的语句中,正确的是()。
A. aClassmy;my.value=10;
B. aClassmy;*my.value=10;
C. aClassmy;my.*value=10;
D. aClassmy(10);
正确答案:——D——
2. 下列关于赋值运算符重载的说法中正确的是()。
A. 返回值一般是以引用方式返回的对象,而函数体中总是用语句“return*this;”返回this指针所指向的对象
B. 赋值运算符只能以非成员函数的方式重载
C. 赋值运算符既可以以成员函数的方式重载,又可以以非成员函数的方式重载
D. 以上均不正确
正确答案:——A——
3. 在创建派生类对象时,构造函数的执行顺序是()。
A. 对象成员构造函数、基类构造函数、派生类本身的构造函数
B. 派生类本身的构造函数、基类构造函数、对象成员构造函数
C. 基类构造函数、派生类本身的构造函数、对象成员构造函数
D. 基类构造函数、对象成员构造函数、派生类本身的构造函数
正确答案:——D——
4. 一个()允许用户为类定义一种模式,使得类中的某些数据成员、某些成员函数的参数和返回值可以取任意数据类型。
A. 函数模板
B. 模板函数
C. 类模板
D. 模板类
正确答案:————
5. 下面关于私有继承方式的论述中错误的是()。
A. 基类中的私有成员对其对象不可见
B. 基类中的私有成员对其派生类不可见
C. 基类中的公有成员对其派生类可见
D. 基类中的保护成员对其派生类不可见
正确答案:————
6. 交换两个string类对象所表示的字符串的内容,应该使用string类的()函数。
A. assign
B. insert
C. swap
D. find
正确答案:————
7. 对定义重载函数的下列要求中,()是错误的。 奥鹏作业答案
A. 要求参数的个数不同
B. 要求参数中至少有一个类型不同
C. 要求参数个数相同时,参数类型不同
D. 要求函数的返回值不同
正确答案:————
8. 对于公有派生,它的“继承方式“是()。
A. private
B. public
C. protected
D. inaccessible
正确答案:————
9. 要在类对象上使用运算符,以下不用必须被重载的运算符是()。
A. []
B. =
C. ++
D. --
正确答案:————
10. 当一个派生类私有继承一个基类时,基类中的所有公有成员和保护成员成为派生类的()。
A. public成员
B. private成员
C. protected成员
D. 友元
正确答案:————
11. 下列引用的定义中,()是错误的。
A. inti;int&j=i;
B. inti;int&j;j=i;
C. floati;float&j=i;
D. chard;char&k=d;
正确答案:————
12. 下列关于类的继承描述中,()是错误的。
A. 派生类可以访问基类的所有数据成员,也能调用基类的所有成员函数
B. 派生类也是基类,但基类不一定具有派生类的全部属性和方法
C. 继承描述类的层次关系,派生类可以具有与基类相同的属性和方法
D. 一个基类可以有多个派生类,一个派生类可以有多个基类
正确答案:————
13. 若派生类中没有对基类的虚函数进行重定义,则它继承基类中的()。
A. 访问权限
B. 保护成员
C. 虚函数
D. 成员函数
正确答案:————
14. 下面关于构造函数和析构函数的描述,错误的是()。
A. 析构函数中调用虚函数采用静态联编
B. 对虚析构函数的调用可以采用动态联编
C. 当基类的析构函数是虚函数时,其派生类的析构函数也一定是虚函数
D. 构造函数可以声明为虚函数
正确答案:————
15. 以成员函数方式重载运算符“>”,则obj1>obj2被C++编译器解释为()。
A. operator>(obj1,obj2)
B. >(obj1,obj2)
C. obj1.operator>(obj2)
D. obj2.operator>(obj1)
正确答案:————
16. 假定MyClass为一个类,则该类的拷贝构造函数的声明语句为()。
A. MyClass(MyClassx)
B. MyClass&(MyClassx)
C. MyClass(MyClass&x)
D. MyClass(MyClass*x)
正确答案:————
17. 下列类中()是输入/输出流类iostream的派生类。
A. fstream
B. ofstream
C. ifstream
D. ostream
正确答案:————
18. 如果类A被说明成类B的友元,则()。
A. 类A的成员函数不得访问类B的所有成员
B. 类A的成员函数可以访问类B的所有成员
C. 类A的成员即类B的成员
D. 类B的成员即类A的成员
正确答案:————
19. 下列关于虚函数的说明中,正确的是()。
A. 从虚基类继承的函数都是虚函数
B. 虚函数不得是静态成员函数
C. 只能通过指针或引用调用虚函数
D. 抽象类中的成员函数都是虚函数
正确答案:————
20. 通常拷贝构造函数的参数表是()。
A. 某个对象名
B. 某个对象的成员名
C. 某个对象的引用名
D. 某个对象的指针名
正确答案:————
21. 友元重载运算符obj1>obj2被C++编译器解释为()。
A. operator>(obj1,obj2)
B. >(obj1,obj2)
C. obj1.operator>(obj2)
D. obj2.operator>(obj1)
正确答案:————
22. 下列对重载函数的描述中,()是错误的。
A. 重载函数中不允许使用默认参数
B. 重载函数中编译时根据参数表进行选择
C. 不要使用重载函数来描述毫无相干的函数
D. 构造函数重载将会给初始化带来多种方式
正确答案:————
23. 下列函数中,可以作为虚函数的是()。
A. 普通函数
B. 构造函数
C. 静态成员函数
D. 析构函数
正确答案:————
24. 已知AA是一个类,则执行语句AAa;后()。
A. 自动调用无参构造函数
B. 自动调用有参构造函数
C. 自动调用拷贝构造函数
D. 产生一个对象a,但不调用任何函数
正确答案:————
25. 类对象占用内存的大小与()有关。
A. 数据成员
B. 成员函数
C. 数据成员和成员函数
D. 私有成员
正确答案:————
26. 继承具有(),即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。
A. 规律性
B. 传递性
C. 重复性
D. 多样性
正确答案:————
27. 下列关于构造函数的描述中,错误的是()。
A. 构造函数可以设置默认参数
B. 构造函数在说明类变量时自动执行
C. 构造函数可以对静态数据成员进行初始化
D. 构造函数可以重载
正确答案:————
28. 在C++标准模板库中,vector容器是一种()。
A. 标准类
B. 标准对象
C. 标准函数
D. 标准类模板
正确答案:————
29. “#include<iostream>”是()预处理命令。
A. 宏定义
B. 文件包含
C. 条件编译
D. 工程配置
正确答案:————
30. 假定MyClass为一类,执行MyClassa,b(2),*p[2];语句时会自动调用该类构造函数()次。
A. 2
B. 3
C. 4
D. 5
正确答案:————
31. 下面()的叙述不符合赋值兼容规则。
A. 派生类的对象可以赋值给基类的对象
B. 基类的对象可以赋值给派生类的对象
C. 派生类的对象可以初始化基类的对象
D. 派生类的对象的地址可以赋值给指向基类的指针
正确答案:————
32. 由于数据隐藏的需要,静态数据成员通常被说明为()。
A. 私有的
B. 公有的
C. 保护的
D. 不可访问的
正确答案:————
33. 抽象类的作用主要是()。
A. 直接用作基类
B. 直接用作指针
C. 引用的基类型
D. 包括以上各项
正确答案:————
34. 已知“inta=10;int&r=a;r=r+20;cout<<a;”,则输出为()。
A. 10
B. 20
C. 30
D. 不确定值
正确答案:————
35. 下列关于运算符重载的描述中,()是正确的。
A. 运算符重载可以改变操作数的个数
B. 运算符重载可以改变优先级
C. 运算符重载可以改变结合性
D. 运算符重载不可以改变语法结构
正确答案:————
三、判断题:
36. 在用class定义一个类时,数据成员和成员函数的默认访问权限是public。
T. 对
F. 错
正确答案:————
37. 一个类的静态数据成员被该类的所有对象共享。
A. 错误
B. 正确
正确答案:————
38. 对象成员的访问与结构变量成员的访问相同,使用运算符.或->。
T. 对
F. 错
正确答案:————
39. 在成员函数的函数类型前加上const关键字,则该成员函数就是常量成员函数。
T. 对
F. 错
正确答案:————
40. 在C++中,虚函数帮助实现了类的封装性。
T. 对
F. 错
正确答案:————
41. 在类体外定义成员函数时需要通过域运算符指定该成员函数所属的类。
T. 对
F. 错
正确答案:————
42. 返回引用的函数可以返回局部变量。
T. 对
F. 错
正确答案:————
43. 设要把一个文件输出流对象myFile与文件“f:\\myText.txt”相关联,所用的C++语句是ifstreammyFile(\f:\\\\myText.txt\,ios::in|ios::out);
T. 对
F. 错
正确答案:————
44. 含有纯虚函数的类是抽象类。
T. 对
F. 错
正确答案:————
45. 要使语句“MyClassa;”能够编译通过,必须在定义MyClass类时编写无参构造函数。
A. 错误
B. 正确
正确答案:————
46. 构造函数不能被派生类继承。
A. 错误
B. 正确
正确答案:————
47. 在类内部定义的public数据可以在类外进行存取。
T. 对
F. 错
正确答案:————
48. 抽象类虽然也是一种数据类型,但它不能建立对象,只能作为基类被其他类继承。
A. 错误
B. 正确
正确答案:————
49. 使用关键字class定义的类中默认的访问权限是私有(private)的。
T. 对
F. 错
正确答案:————
50. 能访问一个类CMyClass中的private成员的可以是类CMyClass的成员函数、友元函数和友元类中的函数。
T. 对
F. 错
正确答案:————
【南开大学在线作业是随机作业】
|
|