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

奥鹏南开大学23年秋季新学期作业参考

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

下列运算符中,()运算符在C++中不能重载。
A:?:
B:+
C:-
D:=
正确答案问询微信:424329

下列关于构造函数调用顺序的描述中,正确的是()。
A:创建派生类对象时,先调用基类的构造函数,后调用派生类的构造函数
B:创建基类对象时,先调用基类的构造函数,后调用派生类的构造函数
C:奥鹏南开大学23年秋季新学期作业参考创建派生类对象时,先调用派生类的构造函数,后调用基类的构造函数
D:创建基类对象时,先调用派生类的构造函数,后调用基类的构造函数
正确答案问询微信:424329

在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是()。
A:派生类的对象可以赋给基类对象
B:派生类的对象可以初始化基类的引用
C:派生类的对象可以直接访问基类的成员
D:派生类的对象的地址可以赋给指向基类的指针
正确答案问询微信:424329

在一个类中,可以对一个操作符进行()重载。
A:1种
B:2种
C:3种
D:多种
正确答案问询微信:424329

在C++中,要实现动态联编,可以使用( )调用虚函数。
A:类名
B:派生类指针
C:对象名
D:基类指针
正确答案问询微信:424329

静态成员遵循类的其他成员所遵循的访问限制,除了( )。
A:静态成员函数
B:静态数据成员初始化
C:私有静态数据成员
D:公有静态成员函数
正确答案问询微信:424329

下面对模板的声明,正确的是( )。
A:A.template
B:template
C:template
D:template
正确答案问询微信:424329

若析构函数是虚函数,则delete对析构函数的调用采用( )。
A:静态联编
B:动态联编
C:重载函数
D:多重函数
正确答案问询微信:424329

单目运算符作为类成员函数重载时()。
A:有形参
B:没有形参
C:有实参
D:以上都不正确
正确答案问询微信:424329

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

虚函数必须是类的()。
A:友元函数
B:成员函数
C:构造函数
D:析构函数
正确答案问询微信:424329

对于公有派生,它的“继承方式“是( )。
A:private
B:public
C:protected
D:inaccessible
正确答案问询微信:424329

假定MyClass为一个类,则该类的拷贝构造函数的声明语句为( )。
A:自动调用无参构造函数
B:自动调用有参构造函数
C:自动调用拷贝构造函数
D:产生一个对象a,但不调用任何函数
正确答案问询微信:424329

建立类模板对象的实例化过程为( )。
A:基类->派生类
B:构造函数->对象
C:模板类->对象
D:模板类->模板函数
正确答案问询微信:424329

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

关于类模板,描述错误的是( )。
A:一个普通基类不能派生类模板
B:类模板从普通类派生,也可以从类模板派生
C:根据建立对象时的实际数据类型,编译器把类模板实例化为模板类
D:函数的类模板参数须通过构造函数实例化
正确答案问询微信:424329

友元关系不能( )。
A:继承
B:是类与类之间是关系
C:是一个类的成员函数与另一个类的关系
D:提高程序的运行效率
正确答案问询微信:424329

假定已定义浮点型变量data,以二进制方式把data的值写入输出文件流对象outfile中去,正确的语句是( )。
A:outfile.write((float *)
B:outfile.write((float *)
C:outfile.write((char *)
D:outfile.write((char *)
正确答案问询微信:424329

面向对象程序设计方法以()为中心进行分析和设计。
A:结构
B:模块
C:对象
D:类
正确答案问询微信:424329

已知“int a=10,*p;int * r=*p=20;couta;”,则输出为()。
A:10
B:20
C:不确定值
D:程序有错误
正确答案问询微信: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*a); 其中,X*a的含义是( )。
A:a是指向X类对象的指针,用来作为Set()的形参
B:将X*a的计算结果传递给Set()函数
C:a是X类对象的引用,用来做为Set()的形参
D:以上都不对
正确答案问询微信:424329

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

关于函数模板,描述错误的是( )。
A:函数模板必须由程序员实例化为可执行的函数模板
B:函数模板的实例化由编译器实现
C:一个类定义中,只要有一个函数模板,则这个类是类模板
D:类模板的成员函数都是函数模板
正确答案问询微信:424329

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

关于对象成员的构造函数的调用顺序,说法正确的是( )。
A:与它们在成员初始化列表中给出的顺序相同
B:与析构函数的调用顺序相同
C:与它们在类中说明顺序相同
D:以上说法都不对
正确答案问询微信:424329

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

进行文件操作时需要包含_
()头文件。
A:iostream
B:fstream
C:stdio
D:stdlib
正确答案问询微信:424329

多继承的构造函数顺序可分为如下4步:
①所有非虚基类的构造函数按照它们被继承的顺序构造。
②所有虚基类的构造函数按照它们被继承的顺序构造。
③所有子对象的构造函数按照它们声明的顺序构造。
④派生类自己的构造函数体
这四个步骤的正确顺序是()。
A:④③①②
B:②④③①
C:②①③④
D:③④①②
正确答案问询微信:424329

若类中有指针成员变量,则应编写(),使得在对象销毁时能够自动调用该函数释放指针成员变量所指向的内存空间。
A:友元函数
B:虚函数
C:构造函数
D:析构函数
正确答案问询微信:424329

下列关于this指针的说法,错误的是()。
A:this指针指向当前正在操作的对象
B:this指针只存在于非静态成员函数中
C:在成员函数中对非静态数据成员的访问是通过this指针完成的
D:静态成员函数中可以通过this指针访问非静态成员
正确答案问询微信:424329

在创建派生类对象时,构造函数的执行顺序是( )。
A:对象成员构造函数、基类构造函数、派生类本身的构造函数
B:派生类本身的构造函数、基类构造函数、对象成员构造函数
C:基类构造函数、派生类本身的构造函数、对象成员构造函数
D:基类构造函数、对象成员构造函数、派生类本身的构造函数
正确答案问询微信:424329

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

抽象类不能定义对象,但可以声明抽象类的指针或引用。
A:错误
B:正确
正确答案问询微信:424329

通过指针或引用可以调用不同对象相同名称的函数,但可导致完全不同的行为的现象称为二义性。
A:对
B:错
正确答案问询微信:424329

运算符重载可以改变运算符的优先级。
A:对
B:错
正确答案问询微信:424329

类的静态成员变量只能在静态成员函数中使用。
A:对
B:错
正确答案问询微信:424329

要使语句“MyClass a;”能够编译通过,必须在定义MyClass类时编写无参构造函数。
A:错误
B:正确
正确答案问询微信:424329

编程是将所设计的算法转换成计算机能够运行的代码的过程。
A:对
B:错
正确答案问询微信:424329

cout属于标准输出流,而cerr和clog则不属于标准输出流。
A:对
B:错
正确答案问询微信:424329

在面向对象程序设计中,每个对象可以单独设置属性值。
A:对
B:错
正确答案问询微信:424329

析构函数是一种函数体为空的成员函数。
A:对
B:错
正确答案问询微信:424329

一般将C++中的类声明和类实现分别放到两个文件中。
A:对
B:错
正确答案问询微信:424329

函数模板可以与普通函数重载。
A:对
B:错
正确答案问询微信:424329

一个类的静态数据成员被该类的所有对象共享。
A:错误
B:正确
正确答案问询微信:424329

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

类的常量成员函数中只能使用常量数据成员。
A:对
B:错
正确答案问询微信:424329

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

提供优质的教育资源

公众号: 超前自学网