南开大学22秋学期(高起本1709-1803、全层次1809-2103)《面向对象程序设计》在线作业一
奥鹏南开在线作业满分答案参考
22秋学期(高起本1709-1803、全层次1809-2103)《面向对象程序设计》在线作业-00001
1.对虚函数的调用()。
选项A:一定使用动态联编
选项B:一定使用静态联编
选项C:必须使用动态联编
选项D:不一定使用动态联编
满分答案问询微信:424329
2.下列虚基类的声明中正确的是( )。
选项A:class virtual B:public A
选项B:virtual class B:public
选项C:class B:public A virtual
选项D:class B: virtual public A
满分答案问询微信:424329
3.已知类X中的一个成员函数说明如下:
Void Set(X 其中,X
public:
void init(int initX,int initY);
private:
int Y;
public:
int GetX();
int GetY();
};
选项A:X
选项B:init(int initX,int initY)
选项C:GetX(),GetY()
选项D:B和C都是
满分答案问询微信:424329
4.在C++中,通过()的机制可以对原有的类进行扩充和完善以适应新的需要。
选项A:继承
选项B:封装
选项C:多态
选项D:重载
满分答案问询微信:424329
5.要求打开文件 d:file.dat,可写入数据,正确的语句是( )。
选项A:ifstream infile("d:file.dat", ios::in);
选项B:ifstream infile("d:\file.dat", ios::in);
选项C:ofstream infile("d:file.dat", ios::out);
选项D:fstream infile("d:\file.dat", ios::in| ios::out);
满分答案问询微信:424329
6.下列程序段中具有相同值的是( ) class Base {int b;}; class Base1:virtual public base{int b1;}; class Base2:virtual public base{int b2;}; class derived:public base 1,public base 2{int b3;}; derived d;
选项A:d.b与d.base1::b
选项B:d.base1::b与 d.base1::b1
选项C:d.b与 d. b3
选项D:d.base2::b与 d.base2::b2
满分答案问询微信:424329
7.当一个派生类私有继承一个基类时,基类中的所有公有成员和保护成员成为派生类的( )。
选项A:public成员
选项B:private成员
选项C:protected成员
选项D:友元
满分答案问询微信:424329
8.假定X为一个类,执行X a[3],*p[2];语句时会自动调用该类的构造函数( )次。
选项A:2
选项B:3
选项C:4
选项D:5
满分答案问询微信:424329
9.下列关于构造函数调用顺序的描述中,正确的是()。
选项A:创建派生类对象时,先调用基类的构造函数,后调用派生类的构造函数
选项B:创建基类对象时,先调用基类的构造函数,后调用派生类的构造函数
选项C:创建派生类对象时,先调用派生类的构造函数,后调用基类的构造函数
选项D:创建基类对象时,先调用派生类的构造函数,后调用基类的构造函数
满分答案问询微信:424329
10.若类中有指针成员变量,则应编写(),使得在对象销毁时能够自动调用该函数释放指针成员变量所指向的内存空间。
选项A:友元函数
选项B:虚函数
选项C:构造函数
选项D:析构函数
满分答案问询微信:424329
11.关于下面程序段说法正确的是( )
class X
{
private:
int n;
public:
X(X
};
X::X(X
选项A:宏定义
选项B:文件包含
选项C:条件编译
选项D:工程配置
满分答案问询微信:424329
12.下面叙述不正确的是( )。
选项A:基类的保护成员在派生类中仍然是保护的
选项B:基类的保护成员在公有派生类中仍然是保护的
选项C:基类的保护成员在私有派生类中是私有的
选项D:对基类成员的访问必须是无二义性
满分答案问询微信:424329
13.下面对友元的错误描述是( )。
选项A:关键字friend用于声明友元
选项B:一个类的成员函数可以是另一个类的友元
选项C:友元函数访问对象的成员不受访问特性影响
选项D:友元函数通过this指针访问对象成员
满分答案问询微信:424329
14.如果类A被说明成类B的友元,则()。
选项A:类A的成员函数不得访问类B的所有成员
选项B:类A的成员函数可以访问类B的所有成员
选项C:类A的成员即类B的成员
选项D:类B的成员即类A的成员
满分答案问询微信:424329
15.一个类的友元函数能够访问该类的( )。
选项A:私有成员
选项B:保护成员
选项C:公有成员
选项D:所有成员
满分答案问询微信:424329
16.下列关于拷贝构造函数的描述中,错误的是()。
选项A:一个类可以定义多个拷贝构造函数
选项B:若未定义拷贝构造函数,则系统会提供一个默认拷贝构造函数
选项C:当类中有指针成员变量时,通常要为这个类定义一个拷贝构造函数来实现深拷贝
选项D:拷贝构造函数中的参数按引用方式传递
满分答案问询微信:424329
17.下列关于运算符重载的描述中,()是正确的。
选项A:运算符重载可以改变操作数的个数
选项B:运算符重载可以改变优先级
选项C:运算符重载可以改变结合性
选项D:运算符重载不可以改变语法结构
满分答案问询微信:424329
18.下列( )是构造函数的特征。
选项A:构造函数在创建对象时自动调用
选项B:构造函数不可以重载
选项C:构造函数不可以设置默认参数
选项D:构造函数必须指定函数类型
满分答案问询微信:424329
19.执行语句“string str("abc");”时,系统会自动调用string类的构造函数()。
选项A:operator(obj1,obj2)
选项B:(obj1,obj2)
选项C:obj1.operator(obj2)
选项D:obj2.operator(obj1)
满分答案问询微信:424329
20.已知“float *p; p=new float[2];”,若要释放p所指向的堆中的这些字节,下列语句正确的是()。
选项A:delete p;
选项B:delete p[];
选项C:delete []p;
选项D:delete p[2];
满分答案问询微信:424329
21.建立类模板对象的实例化过程为( )。
选项A:基类->派生类
选项B:构造函数->对象
选项C:模板类->对象
选项D:模板类->模板函数
满分答案问询微信:424329
22.撤消对象时,系统自动调用( )函数。
选项奥鹏南开在线作业满分答案参考A:成员函数
选项B:构造函数
选项C:析构函数
选项D:普通函数
满分答案问询微信:424329
23.下列关于赋值运算符重载的说法中正确的是()。
选项A:返回值一般是以引用方式返回的对象,而函数体中总是用语句“return *this;”返回this指针所指向的对象
选项B:赋值运算符只能以非成员函数的方式重载
选项C:赋值运算符既可以以成员函数的方式重载,又可以以非成员函数的方式重载
选项D:以上均不正确
满分答案问询微信:424329
24.关于动态关联的下列叙述中,()是错误的。
选项A:动态关联是以虚函数为基础的
选项B:动态关联调用虚函数操作是指向对象的指针或引用
选项C:动态关联是在运行时确定所调用的函数代码的
选项D:动态关联是在编译时确定操作函数的
满分答案问询微信:424329
25.定义重载函数时,应保证函数类型有所不同。
选项A:对
选项B:错
满分答案问询微信:424329
26.运算符[]只能用成员运算符来重载,不能用友元运算符来重载。
选项A:对
选项B:错
满分答案问询微信:424329
27.纯虚函数是一种特殊的成员函数,它是一种没有具体实现的虚函数。
选项A:对
选项B:错
满分答案问询微信:424329
28.已知Circle类对象c,Circle类中有一个setCenter成员函数,如果c.setCenter(…)返回值仍然是c,则setCenter函数中的return语句应写作return this;。
选项A:对
选项B:错
满分答案问询微信:424329
29.当一个函数的返回值是类对象时,则该函数执行结束后会自动调用拷贝构造函数初始化一个临时对象。
选项A:对
选项B:错
满分答案问询微信:424329
30.在类内部定义的public数据可以在类外进行存取。
选项A:对
选项B:错
满分答案问询微信:424329
31.定义虚函数所用的关键字是virtual。
选项A:对
选项B:错
满分答案问询微信:424329
32.重载函数可以带默认参数值,但要注意二义性。
选项A:对
选项B:错
满分答案问询微信:424329
33.某类中的友元类的所有成员函数可以存取或修改该类中的私有成员。
选项A:对
选项B:错
满分答案问询微信:424329
34.构造函数说明为纯虚函数是没有意义的。
选项A:对
选项B:错
满分答案问询微信:424329
35.函数的参数个数和类型都相同,只是返回值不同,这不是重载函数。
选项A:对
选项B:错
满分答案问询微信:424329
36.只有返回引用的函数可以作为赋值语句的左值。
选项A:对
选项B:错
满分答案问询微信:424329
37.打开ASCII码流文件和二进制流文件时,打开方式是相同的。
选项A:对
选项B:错
满分答案问询微信:424329
38.运算符重载实际上是对已有的运算符重新定义其功能。
选项A:对
选项B:错
满分答案问询微信:424329
39.类的静态成员函数中不能访问非静态成员。
选项A:对
选项B:错
满分答案问询微信:424329