南开大学23年秋学期《面向对象程序设计》在线作业二
奥鹏南开大学23年秋季新学期作业参考
23秋学期(仅限-高起专1909、专升本1909)《面向对象程序设计》在线作业-00002
下列虚基类的声明中,正确的是()。
A:class virtual B:public A
B:virtual class B:public A
C:class B: public A virtual
D:class B: virtual public A
正确答案问询微信:424329
下面关于类的成员函数描述不正确的是()。
A:静态成员函数内可以直接访问类的非静态成员数据
B:静态成员函数内可以直接访问类的静态成员数据
C:非静态成员函数可以直接访问类的非静态成员数据
D:非静态成员函数可以直接访问类的静态成员数据
正确答案问询微信:424329
假定MyClass为一类,执行MyClass a,b(2),*p[2];语句时会自动调用该类构造函数()次。
A:2
B:3
C:4
D:5
正确答案问询微信:424329
友元运算符obj1>obj2被C++编译器解释为()。
A:operator>(obj1,obj2)
B:>(obj1,obj2)
C:jobj2.operator>(obj1)
D:obj1.operator(obj2)
正确答案问询微信:424329
下列关于对象数组的描述中,错误的是( )。
A:对象数组的下标是从0开始的
B:对象数组的数组名是一个常量指针
C:对象数组的每个元素是同一个类的对象
D:对象数组只能赋初值,而不能在定义后赋值
正确答案问询微信:424329
基类和派生类可以分别叫做( )。
A:“大类”和“小类”
B:“父类”和“子类”
C:“小类”和“大类”
D:“子类”和“父类”
正确答案问询微信:424329
抽象类的作用主要是()。
A:直接用作基类
B:直接用作指针
C:引用的基类型
D:包括以上各项
正确答案问询微信:424329
下列关于赋值运算符重载的说法中正确的是()。
A:返回值一般是以引用方式返回的对象,而函数体中总是用语句“return *this;”返回this指针所指向的对象
B:赋值运算符只能以非成员函数的方式重载
C:赋值运算符既可以以成员函数的方式重载,又可以以非成员函数的方式重载
D:以上均不正确
正确答案问询微信:424329
对于任意一个类,析构函数的个数最多为( )。
A:0
B:1
C:2
D:3
正确答案问询微信:424329
建造新的派生类是( )的实质。
A:派生
B:抽象
C:继承
D:封装
正确答案问询微信:424329
要在类对象上使用运算符,以下不用必须被重载的运算符是()。
A:[ ]
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:纯虚函数的声明总是以“=0”结束
C:派生类必须实现基类的纯虚函数
D:含有纯虚函数的类一定是派生类
正确答案问询微信:424329
若派生类中没有对基类的虚函数进行重定义,则它继承基类中的( )。
A:访问权限
B:保护成员
C:虚函数
D:成员函数
正确答案问询微信:424329
虚函数必须是类的()。
A:友元函数
B:成员函数
C:构造函数
D:析构函数
正确答案问询微信:424329
若定义cin>>str;当输入 Microsoft Visual Studio 6.0!
所得的结果是str=
()。
A:Microsoft Visual Studio 6.0!
B:Microsoft
C:Microsoft Visual
D:Microsoft Visual Studio 6.0
正确答案问询微信:424329
下列关于主函数的叙述中正确的是()。
A:一个程序可以有多个主函数
B:程序从主函数开始执行
C:一个程序可以没有主函数
D:主函数是一个特殊的函数,因此其结构与其他函数不同
正确答案问询微信:424329
下列关于成员函数特征的描述中,错误的是()。
A:成员函数可以重载
B:成员函数一定是内联函数
C:成员函数可以设置参数的默认值
D:成员函数可以是静态的
正确答案问询微信:424329
静态成员遵循类的其他成员所遵循的访问限制,除了( )。
A:静态成员函数
B:静态数据成员初始化
C:私有静态数据成员
D:公有静态成员函数
正确答案问询微信:424329
下面描述中,错误的是( )。
A:虚函数是没有实现的函数
B:纯虚函数的实现在派生类中
C:抽象类是有纯虚函数的类
D:抽象类指针可以指向不同的派生类
正确答案问询微信:424329
下面程序段中是内联函数的是( )。
class location
{
private:
int x ,y;
public:
void init(int initx,int inity) { x=initx; y=inity; }
int getx(){return x;}
int gety();
};
inline int location::gety() {return y;}
A:init (int initx,int inity)
B:getx(),gety()
C:A和B都是
D:A和getx()
正确答案问询微信:424329
下列程序中说明的公有成员是( )
class Location
{
int 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
在C++中,关于下列设置参数默认值的描述中,正确的是( )。
A:不允许设置参数的默认值
B:设置参数默认值只能在定义函数时设置
C:设置参数默认值时,应该是先设置右边的再设置左边的
D:设置参数默认值时,应该全部参数都设置
正确答案问询微信:424329
已知“int a=10,*p;int * r=*p=20;couta;”,则输出为()。
A:10
B:20
C:不确定值
D:程序有错误
正确答案问询微信:424329
下列关于构造函数的描述中,错误的是( )。
A:构造函数可以设置默认参数
B:构造函数在说明类变量时自动执行
C:构造函数可以对静态数据成员进行初始化
D:构造函数可以重载
正确答案问询微信:424329
若派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的(??)。
A:私有成员
B:公有成员
C:保护成员
D:保护成员或私有成员
正确答案问询微信:424329
类模板的模板参数( )。
A:只可作为数据成员的类型
B:只可作为成员函数的返回类型
C:只可作为成员函数的参数类型
D:以上三者皆可
正确答案问询微信:424329
下面关于对象概念的描述中,( )是错误的。
A:对象就是C语言中的结构变量
B:对象代表着正在创建的系统中的一个实体
C:对象是一个状态和操作(或方法)的封装体
D:对象之间的信息传递是通过消息进行的
正确答案问询微信:424329
下面说法中正确的是( )。
A:一个类只能定义一个构造函数,但可以定义多个析构函数
B:一个类只能定义一个析构函数,但可以定义多个构造函数
C:构造函数与析构函数同名,只要名字前加了一个求反符号(~)
D:构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是void类型也不可以
正确答案问询微信:424329
下列关于成员访问权限的描述中,不正确的是( )。奥鹏南开大学23年秋季新学期作业参考
A:公有数据成员和公有成员函数都可以通过类对象直接访问
B:类的私有数据成员只能被公有成员函数以及该类的任何友元类或友元函数访问
C:保护成员在派生类中可以被访问,而私有成员不可以
D:类或派生类的成员函数可以访问保护成员
正确答案问询微信:424329
有关带默认参数的函数的描述正确的是()。
A:只能在函数定义时设置默认参数值
B:只能在函数声明时设置默认参数值
C:函数调用时,必须使用默认的参数值,不能给出新的实参值
D:设置默认参数时,应该设置最右边的若干个参数的默认值
正确答案问询微信:424329
包含类fstream定义的头文件是( )。
A:fstream
B:ofstream
C:ifstream
D:iostream
正确答案问询微信:424329
在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和函数的返回值( )。
A:不同
B:相同
C:相容
D:部分相同
正确答案问询微信:424329
实现运行时的多态性要使用()。
A:构造函数
B:析构函数
C:重载函数
D:虚函数
正确答案问询微信:424329
下列关于类的继承描述中,( )是错误的。
A:派生类可以访问基类的所有数据成员,也能调用基类的所有成员函数
B:派生类也是基类,但基类不一定具有派生类的全部属性和方法
C:继承描述类的层次关系,派生类可以具有与基类相同的属性和方法
D:一个基类可以有多个派生类,一个派生类可以有多个基类
正确答案问询微信:424329
在C++程序中,有且仅能有一个主函数,且其函数名必须是main。
A:错误
B:正确
正确答案问询微信:424329
在公有继承中,基类中只有公有成员对派生类对象是可见的。
A:对
B:错
正确答案问询微信:424329
在用class定义一个类时,数据成员和成员函数的默认访问权限是public。
A:对
B:错
正确答案问询微信:424329
cout后面的符号是。
A:对
B:错
正确答案问询微信:424329
一个算法必须能在有限步骤内解决问题。
A:对
B:错
正确答案问询微信:424329
在保护继承中,对于派生类的访问同于公有继承,而对于派生类的对象的访问同于私有继承。
A:对
B:错
正确答案问询微信:424329
对虚函数的调用,系统都是采用动态联编。
A:错误
B:正确
正确答案问询微信:424329
cin后面的符号是<<。
A:对
B:错
正确答案问询微信:424329
构造函数和析构函数均不能被说明为虚函数。
A:对
B:错
正确答案问询微信:424329
多重继承中的二义性问题是由于一个派生类从不同基类中继承了同名成员变量或相同函数原型的成员函数。
A:对
B:错
正确答案问询微信:424329
遇到一个问题后,应先分析问题、设计算法,然后再编写程序。
A:对
B:错
正确答案问询微信:424329
调试主要是为了解决源程序编译连接时产生的错误。
A:对
B:错
正确答案问询微信:424329