南开大学23年春学期《面向对象程序设计》在线作业一

奥鹏南开大学新学期作业参考

23春学期(高起本:1709-2103、专升本/高起专:1909-2103)《面向对象程序设计》在线作业-00001

不论派生类以何种方法继承基类,都不能使用基类的( )。
A:public成员
B:private成员
C:protected成员
D:private成员和protected成员
正确答案问询微信:424329

使用string类,必须在程序中包含头文件()。
A:string.h
B:string
C:cstring.h
D:cstring
正确答案问询微信:424329

下面关于类的成员函数描述不正确的是()。
A:静态成员函数内可以直接访问类的非静态成员数奥鹏南开大学新学期作业参考 代做2元一门据
B:静态成员函数内可以直接访问类的静态成员数据
C:非静态成员函数可以直接访问类的非静态成员数据
D:非静态成员函数可以直接访问类的静态成员数据
正确答案问询微信:424329

假设有函数模板定义如下:
Template
Max(T a, T b, T }
下列选项正确的是( )。
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

通常拷贝构造函数的参数表是( )。
A:某个对象名
B:某个对象的成员名
C:某个对象的引用名
D:某个对象的指针名
正确答案问询微信:424329

对A、B两个类进行多重继承得到派生类C,则创建派生类C的对象时,从基类B中继承过来的成员变量由()类的构造函数进行初始化。
A:A
B:B
C:C
D:都可以
正确答案问询微信:424329

对于任意一个类,构造函数的个数最少为( )。
A:0
B:1
C:2
D:3
正确答案问询微信:424329

在C++中,关于下列设置参数默认值的描述中,正确的是( )。
A:不允许设置参数的默认值
B:设置参数默认值只能在定义函数时设置
C:设置参数默认值时,应该是先设置右边的再设置左边的
D:设置参数默认值时,应该全部参数都设置
正确答案问询微信:424329

抽象类的作用主要是()。
A:直接用作基类
B:直接用作指针
C:引用的基类型
D:包括以上各项
正确答案问询微信:424329

派生类的对象对它的基类成员中()是可以访问的。
A:公有继承的公有成员
B:公有继承的私有成员
C:公有继承的保护成员
D:私有继承的公有成员
正确答案问询微信:424329

若一个类中含有纯虚函数,则该类称为( )。
A:基类
B:纯基类
C:派生类
D:抽象类
正确答案问询微信:424329

在一个C++源文件中使用了cin和cout,那么在这个源文件中必须包含()文件。
A:iostream
B:fstream
C:stdio.h
D:stdlib.h
正确答案问询微信:424329

基类的()在私有继承时在派生类中为私有成员函数,在公有和保护继承时在派生类中为保护成员函数。
A:私有成员函数
B:保护成员函数
C:公有成员
D:保护数据成员
正确答案问询微信:424329

假设堆内存分配均成功,则下面程序段完全正确的是()。
A:int *p=new int(3);cout*p;delete p;
B:int *p=new int[5]={1,2,3,4,5};for(int i=0;i5;i++)coutp[i];delete []p;
C:int *p=new int[5];for(int i=0;i5;i++,p++) {*p=i; cout*p;}delete []p;
D:以上程序段均正确
正确答案问询微信:424329

关于纯虚函数和抽象类的描述中,错误的是()。
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

一个类的友元函数能够访问该类的( )。
A:私有成员
B:保护成员
C:公有成员
D:所有成员
正确答案问询微信:424329

设置虚基类的目的是()。
A:简化程序
B:消除二义性
C:提高运行效率
D:减少目标代码
正确答案问询微信:424329

下面描述中,错误的是( )。
A:在基类定义的public成员在公有继承的派生类中可见,也能在类外被访问
B:在基类定义的public和protected成员在私有继承的派生类中可见,在类外可以被访问
C:在基类定义的public和protected成员在保护继承的派生类中可见
D:在派生类中不可见的成员要变成可访问的,需要进行访问声明
正确答案问询微信:424329

下列( )是构造函数的特征。
A:构造函数在创建对象时自动调用
B:构造函数不可以重载
C:构造函数不可以设置默认参数
D:构造函数必须指定函数类型
正确答案问询微信:424329

类的默认的无参构造函数()。
A:在任何情况下都存在
B:仅当未定义无参构造函数时存在
C:仅当未定义有参构造函数时存在
D:仅当未定义任何构造函数时存在
正确答案问询微信:424329

运算符delete删除一个动态对象时( )。
A:首先为该动态对象调用构造函数,再释放其占用的内存
B:首先释放该动态对象占用的内存,再为其调用构造函数
C:首先为该动态对象调用析构函数,再释放其占用的内存
D:首先释放动态对象占用的内存,再为其调用析构函数
正确答案问询微信:424329

下面函数原型声明中,( )声明了fun为纯虚函数。
A:void fun()=0;
B:virtual void fun()=0;
C:virtual void fun();
D:virtual void fun(){};
正确答案问询微信:424329

下列关于继承的描述中,错误的是()。
A:基类中的析构函数不能被派生类继承
B:基类中的保护成员在派生类中无法直接访问
C:派生类的成员除了包括派生类中自己定义的成员外,还包括它从基类继承的成员
D:在公有继承方式下基类中公有成员和保护成员的访问权限到派生类保持不变
正确答案问询微信:424329

若派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的(??)。
A:私有成员
B:公有成员
C:保护成员
D:保护成员或私有成员
正确答案问询微信:424329

下面叙述不正确的是( )。
A:基类的保护成员在派生类中仍然是保护的
B:基类的保护成员在公有派生类中仍然是保护的
C:基类的保护成员在私有派生类中是私有的
D:对基类成员的访问必须是无二义性
正确答案问询微信:424329

在一个string类对象表示的字符串中查找子串,应该使用string类的()函数。
A:assign
B:insert
C:swap
D:find
正确答案问询微信:424329

在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和函数的返回值( )。
A:不同
B:相同
C:相容
D:部分相同
正确答案问询微信:424329

下面选项中,不是类的成员函数为( )。
A:构造函数
B:析构函数
C:友元函数
D:缺省参数的构造函数
正确答案问询微信:424329

下面叙述错误的是( )。
A:派生类可以使用private派生
B:对基类成员的访问必须是无二义性的
C:基类成员的访问能力在派生类中维持不变
D:赋值兼容规则也适用于多继承的组合
正确答案问询微信:424329

包含类fstream定义的头文件是( )。
A:fstream
B:ofstream
C:ifstream
D:iostream
正确答案问询微信:424329

下面关于对象概念的描述中,( )是错误的。
A:对象就是C语言中的结构变量
B:对象代表着正在创建的系统中的一个实体
C:对象是一个状态和操作(或方法)的封装体
D:对象之间的信息传递是通过消息进行的
正确答案问询微信:424329

运算符[]只能用成员运算符来重载,不能用友元运算符来重载。
A:对
B:错
正确答案问询微信:424329

运算符重载实际上是对已有的运算符重新定义其功能。
A:对
B:错
正确答案问询微信:424329

在公有继承中,基类中只有公有成员对派生类对象是可见的。
A:对
B:错
正确答案问询微信:424329

一个抽象类的派生类可以用于创建对象。
A:对
B:错
正确答案问询微信:424329

遇到一个问题后,应先分析问题、设计算法,然后再编写程序。
A:对
B:错
正确答案问询微信:424329

在删除一个动态对象时,将自动调用该动态对象所属类的析构函数。
A:对
B:错
正确答案问询微信:424329

假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为:
AB operator+(AB
A:错误
B:正确
正确答案问询微信:424329

派生类对基类继承的成员函数进行重定义后,则通过派生类对象和基类对象调用的都是重定义后的成员函数。
A:对
B:错
正确答案问询微信:424329

多继承情况下,派生类的构造函数中基类构造函数的执行顺序取决于定义派生类时所指定的各基类的顺序。
A:对
B:错
正确答案问询微信:424329

在一个类中最多只能定义1个构造函数和1个析构函数。
A:对
B:错
正确答案问询微信:424329

运算符重载的形式有两种:成员函数形式和友元形式。
A:对
B:错
正确答案问询微信:424329

说明或定义对象时,类名前面不需要加class关键字。
A:对
B:错
正确答案问询微信:424329

在C++中,虚函数帮助实现了类的封装性。
A:对
B:错
正确答案问询微信:424329

C++的I/O系统通过流的机制实现文件和控制台的输入输出操作。
A:对
B:错
正确答案问询微信:424329

多重继承中的二义性问题是由于一个派生类从不同基类中继承了同名成员变量或相同函数原型的成员函数。
A:对
B:错
正确答案问询微信:424329

提供优质的教育资源

公众号: 超前自学网