南开大学23年春学期《面向对象程序设计》在线作业二
奥鹏南开大学新学期作业参考
23春学期(高起本:1709-2103、专升本/高起专:1909-2103)《面向对象程序设计》在线作业-00002
静态数据成员初始化在()进行,而且前面不加static,以免与一般静态变量或对象相混淆。
A:类体内
B:类体外
C:构造函数内
D:内联函数内
正确答案问询微信:424329
在C++中,通过()的机制可以对原有的类进行扩充和完善以适应新的需要。
A:继承
B:封装
C:多态
D:重载
正确答案问询微信:424329
程序在调用重载函数时,根据()区分到底要调用哪个函数。
A:函数名
B:返回值类型
C:参数个数和类型
D:以上都可以
正确答案问询微信:424329
使用string类,必须在程序中包含头文件()。
A:string.h
B:string
C:cstring.h
D:cstring
正确答案问询微信:424329
关于类和对象不正确的说法是( )。
A:类是一种类型,它封装了数据和操作
B:对象是类的实例
C:一个类的对象只有一个
D:一个对象必属于某个类
正确答案问询微信:424329
如果类A被说明成类B的友元,则()。
A:类A的成员函数不得访问类B的所有成员
B:类A的成员函数可以访问类B的所有成员
C:类A的成员即类B的成员
D:类B的成员即类A的成员
正确答案问询微信:424329
通常拷贝构造函数的参数表是( )。
A:某个对象名
B:某个对象的成员名
C:某个对象的引用名
D:某个对象的指针名
正确答案问询微信:424329
在C++中,打开一个文件就是将这个文件与一个()建立关联;关闭一个文件就是取消这种关联。
A:流
B:类
C:结构
D:对象
正确答案问询微信:424329
基类的()在私有继承时在派生类中为私有成员函数,在公有和保护继承时在派生类中为保护成员函数。
A:私有成员函数
B:保护成员函数
C:公有成员
D:保护数据成员
正确答案问询微信:424329
下面关于类的成员函数描述不正确的是()。
A:静态成员函数内可以直接访问类的非静态成员数据
B:静态成员函数内可以直接访问类的静态成员数据
C:非静态成员函数可以直接访问类的非静态成员数据
D:非静态成员函数可以直接访问类的静态成员数据
正确答案问询微信:424329
假定X为一个类,执行X a[3],*p[2];语句时会自动调用该类的构造函数( )次。
A:2
B:3
C:4
D:5
正确答案问询微信:424329
类A是类B的友元,类B是类C的友元,则( )是正确的。
A:类B是类A的友元
B:类C是类A的友元
C:类A是类C的友元
D:以上都不对
正确答案问询微信:424329
C++对C语言做了很多改进,下列描述中( )使得C语言发生了质变,即从面向过程变成面向对象。
A:增加了一些新的运算符
B:允许函数重载,并允许设置默认参数
C:规定函数说明必须用原型
D:引进类和对象的概念
正确答案问询微信:424329
有关类和对象的说法不正确的是( )。
A:对象是类的一个实例
B:一个类只能有一个对象
C:任何一个对象只能属于一个具体的类
D:类与对象的关系和数据类型和变量的关系相似
正确答案问询微信:424329
实现运行时的多态性要使用()。
A:构造函数
B:析构函数
C:重载函数
D:虚函数
正确答案问询微信:424329
下面( )的叙述不符合赋值兼容规则。
A:派生类的对象可以赋值给基类的对象
B:基类的对象可以赋值给派生类的对象
C:派生类的对象可以初始化基类的对象
D:派生类的对象的地址可以赋值给指向基类的指针
正确答案问询微信:424329
如果一个类至少有一个纯虚函数,那么就称该类是()。
A:抽象类
B:虚基类
C:派生类
D:以上都不对
正确答案问询微信:424329
在C++标准模板库中,vector容器是一种( )。
A:标准类
B:标准对象
C:标准函数
D:标准类模板
正确答案问询微信:424329
执行语句“string str("abc");”时,系统会自动调用string类的构造函数()。
A:float x,y,z; Max(x,y,z);
B:const int x,y,z; Max(x,y,z);
C:int x,y; float z; Max(x,y,z);
D:float x; int y, z; Max(x,y,z);
正确答案问询微信:424329
在C++中,能被派生类继承的函数是( )。
A:成员函数
B:构造函数
C:析构函数
D:拷贝构造函数
正确答案问询微信:424329
下列对派生类的描述中,()是错误的。
A:一个派生类可以作另一个派生类的基类
B:派生类至少有一个基类
C:派生类的成员除了它自己的成员外,包含了它的基类的成员
D:派生类中继承的基类成员的访问权限到派生类保持不变
正确答案问询微信:424329
下列关于成员访问权限的描述中,不正确的是( )。
A:公有数据成员和公有成员函数都可以通过类对象直接访问
B:类的私有数据成员只能被公有成员函数以及该类的任何友元类或友元函数访问
C:保护成员在派生类中可以被访问,而私有成员不可以
D:类或派生类的成员函数可以访问保护成员
正确答案问询微信:424329
有如下类声明:
class Sample { int x; };
则Sample类成员x是Sample类的()。
A:公有数据成员
B:保护数据成员
C:私有数据成员
D:以上选项都不正确
正确答案问询微信:424329
友元重载运算符obj1obj2被C++编译器解释为()。
A:operator(obj1,obj2)
B:(obj1,obj2)
C:obj1.operator(obj2)
D:obj2.operator(obj1)
正确答案问询微信:424329
已知函数原型:void f(int a, int b=3,char c='*'); 则下面的函数调用中,不合法的调用是()。
A:f(5)
B:f(5,8)
C:f(6, , '#')
D:f(0,0, '#')
正确答案问询微信:424329
已知类X中的一个成员函数说明如下:
Void Set(X 其中,X
正确答案问询微信:424329
关于多继承二义性的描述中,错误的是()。
A:一个派生类的基类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性
B:解决二义性的最常用的方法是对成员名的限定法
C:基类和派生类同时出现的同名函数,也存在二义性问题
D:一个派生类是从两个基类派生出来的,而这两个基类又有一个共同的基类, 对该基类成员进行访问时,可能出现二义性
正确答案问询微信:424329
下列关于对象数组的描述中,错误的是( )。
A:对象数组的下标是从0开始的
B:对象数组的数组名是一个常量指针
C:对象数组的每个元素是同一奥鹏南开大学新学期作业参考 代做2元一门个类的对象
D:对象数组只能赋初值,而不能在定义后赋值
正确答案问询微信:424329
关于抽象类, 下列表述正确的是( )。
A:抽象类的成员函数中至少有一个没有实现的函数(即无函数体定义的函数)
B:派生类必须实现作为基类的抽象类中的纯虚函数
C:派生类不可能成为抽象类
D:抽象类不能用于定义对象
正确答案问询微信:424329
如果一个类至少有一个纯虚函数,那么就称该类为()。
A:抽象类
B:派生类
C:纯基类
D:以上都不对
正确答案问询微信:424329
虚基类是用来解决多继承中公共基类在派生类中产生多份基类成员的问题。
A:对
B:错
正确答案问询微信:424329
继承性是指同样的消息被不同对象接收时可产生不同的行为。
A:对
B:错
正确答案问询微信:424329
类中所提供的成员函数可以直接访问该类的私有成员。
A:错误
B:正确
正确答案问询微信:424329
以app方式打开文件时,当前的读指针和写指针都定位于文件尾。
A:对
B:错
正确答案问询微信:424329
构造函数和析构函数都不能重载。
A:对
B:错
正确答案问询微信:424329
在私有继承中,基类中所有成员对派生类的对象都是不可见的。
A:对
B:错
正确答案问询微信:424329
假定类AB中有一个公用属性的静态数据成员static int bb;在类外不通过对象名给该成员bb赋值为10的写法为static int AB::bb=10;
A:对
B:错
正确答案问询微信:424329
派生类是从基类派生出来,它不能再生成新的派生类。
A:对
B:错
正确答案问询微信:424329
要使语句“MyClass a;”能够编译通过,必须在定义MyClass类时编写无参构造函数。
A:错误
B:正确
正确答案问询微信:424329
运算符重载是一种特殊的函数重载,其函数名为operator。
A:对
B:错
正确答案问询微信:424329
假定AB为一个类,则执行AB a[10];语句时,系统自动调用该类的构造函数的次数为10。
A:对
B:错
正确答案问询微信:424329
返回引用的函数可以返回局部变量。
A:对
B:错
正确答案问询微信:424329
拷贝构造函数通常使用已有对象的引用来初始化创建中的对象。
A:对
B:错
正确答案问询微信:424329
基类类型的指针可以指向其派生类对象。
A:错误
B:正确
正确答案问询微信:424329
遇到一个问题后,应先分析问题、设计算法,然后再编写程序。
A:对
B:错
正确答案问询微信:424329