超前自学网

 找回密码
 立即注册

奥鹏在线作业,2元一门,先做后付,微信424329

查看: 38|回复: 0

20秋学期(1709、1803、1809、1903、1909、2003、2009 )《面向对象程序设计》在线作业

[复制链接]

3万

主题

3万

帖子

9万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
95816
发表于 2020-10-29 16:44:25 | 显示全部楼层 |阅读模式
微信公众号:超前自学网
点击这里

已知“int a=10,*p;int *r=p; r=a;*p=20;coutlt;lt;a;”,则输出为()。
A:10
B:20
C:不确定值
D:程序有错误

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

下列关于虚函数的说明中,正确的是()。
A:从虚基类继承的函数都是虚函数
B:虚函数不得是静态成员函数
C:只能通过指针或引用调用虚函数
D:抽象类中的成员函数都是虚函数

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

执行语句“string str("abc");”时,系统会自动调用string类的构造函数()。
A:string()
B:string(const char *s)
C:string(const string str)
D:string(size_type n, char c)

下面说法中正确的是(   )。
A:一个类只能定义一个构造函数,但可以定义多个析构函数
B:一个类只能定义一个析构函数,但可以定义多个构造函数
C:构造函数与析构函数同名,只要名字前加了一个求反符号(~)
D:构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是void类型也不可以

已知函数原型:void f(int a, int b=3,char c='*'); 则下面的函数调用中,不合法的调用是()。
A:f(5)
B:f(5,8)
C:f(6, , '#')
D:f(0,0, '#')

(   )是析构函数的特征。
A:析构函数可以有一个或多个参数
B:析构函数定义只能在类体内
C:析构函数名与类名不同
D:一个类中只能定义一个析构函数

已知“int a=10;int r=a; r=r 20;coutlt;lt;a;”,则输出为()。
A:10
B:20
C:30
D:不确定值

关于下面程序段说法正确的是(   )
class X
{
private:
int n;
public:
X(X);
};
X::X(Xx) {n=x.n}
X obj1,obj2(obj1);
A:语句obj2(obj1);的功能是用对象obj1初始化具有相同类类型的对象obj2
B:语句obj2(obj1);的功能是用对象obj2初始化具有相同类类型的对象obj1
C:X(Xx)中的符号可以删除
D:X(Xx)函数中不能访问对象的私有成员

类aClass的定义如下:
class aClass
{public:
       aClass(){}
       aClass(int i){value=new int(i);}
       int *value;
}
若要对类中的value赋值,则下面的语句中,正确的是()。
A:aClass my; my.value=10;
B:aClass my; *my.value=10;
C:aClass my; my.*value=10;
D:aClass my(10);

包含类fstream定义的头文件是(    )。
A:fstream
B:ofstream
C:ifstream
D:iostream

如果类A被说明成类B的友元,则()。
A:类A的成员函数不得访问类B的所有成员
B:类A的成员函数可以访问类B的所有成员
C:类A的成员即类B的成员
D:类B的成员即类A的成员

进行文件操作时需要包含_
()头文件。
A:iostream
B:fstream
C:stdio
D:stdlib

派生类中的成员不能访问基类中的()。
A:私有成员
B:公有成员
C:保护成员
D:以上都可以

下列关于类的继承描述中,(   )是错误的。
A:派生类可以访问基类的所有数据成员,也能调用基类的所有成员函数
B:派生类也是基类,但基类不一定具有派生类的全部属性和方法
C:继承描述类的层次关系,派生类可以具有与基类相同的属性和方法
D:一个基类可以有多个派生类,一个派生类可以有多个基类

要求打开文件 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);

空类的声明(    )是正确的。
A:class类名;
B:class类名{};
C:class类名{}
D:class类名

对于多重继承,有(  )。
A:一个派生类只能有一个基类
B:一个基类只能产生一个派生类
C:一个基类必须产生多个派生类
D:一个派生类可有多个基类

(   )的功能是对对象进行初始化。
A:析构函数
B:数据成员
C:构造函数
D:静态数据成员

在C  中,要实现动态联编,可以使用(    )调用虚函数。
A:类名
B:派生类指针
C:对象名
D:基类指针

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

下列关于C  类的描述中错误的是(      )。
A:类与类之间可以通过一些手段进行通信和联络
B:类用于描述事物的属性和对事物的操作
C:类与类之间必须是平等的关系,而不能组成层次关系
D:类与类之间可以通过封装而具有明确的独立性

已知X类.则当程序执行到语句X *array=new X[2];时,调用了(   )次构造函数。
A:0
B:1
C:2
D:3

下列关于构造函数调用顺序的描述中,正确的是()。
A:创建派生类对象时,先调用基类的构造函数,后调用派生类的构造函数
B:创建基类对象时,先调用基类的构造函数,后调用派生类的构造函数
C:创建派生类对象时,先调用派生类的构造函数,后调用基类的构造函数
D:创建基类对象时,先调用派生类的构造函数,后调用基类的构造函数

对基类和派生类的描述中错误的是(   )。
A:派生类是基类的具体化
B:基类继承了派生类的属性
C:派生类是基类定义的延续
D:派生类是基类的特殊化

声明一个类的对象时,系统自动调用(   )函数。
A:成员函数
B:构造函数
C:析构函数
D:普通函数

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

在使用类创建对象时,系统会自动调用该对象的()完成对象中数据成员的初始化等操作。
A:友元函数
B:虚函数
C:构造函数
D:析构函数

下列关于构造函数的描述中,错误的是(   )。
A:构造函数可以设置默认参数
B:构造函数在说明类变量时自动执行
C:构造函数可以对静态数据成员进行初始化
D:构造函数可以重载

下列引用的定义中,(    )是错误的。
A:int i;   int j=i;
B:int i;    int j;    j=i;
C:float i;  float j=i;
D:char d;    char k=d;

在C  中,类与类之间的继承关系具有(   )。
A:自反性
B:对称性
C:传递性
D:反对称性

下面关于类的成员函数描述不正确的是()。
A:静态成员函数内可以直接访问类的非静态成员数据
B:静态成员函数内可以直接访问类的静态成员数据
C:非静态成员函数可以直接访问类的非静态成员数据
D:非静态成员函数可以直接访问类的静态成员数据

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

用于类中虚成员函数说明的关键字(   )。
A:virtual
B:public
C:protected
D:private

以app方式打开文件时,当前的读指针和写指针都定位于文件尾。
A:对
B:错

派生类对基类继承的成员函数进行重定义后,则通过派生类对象和基类对象调用的都是重定义后的成员函数。
A:对
B:错

C  的I/O系统通过流的机制实现文件和控制台的输入输出操作。
A:对
B:错

定义重载函数时,应保证函数类型有所不同。
A:对
B:错

在一个类中最多只能定义1个构造函数和1个析构函数。
A:对
B:错

派生类是从基类派生出来,它不能再生成新的派生类。
A:对
B:错

C语言中scanf命令在c  中改用cin。
A:对
B:错

预定义的提取符和插入符是可以重载的。
A:对
B:错

对象数组的元素可以是不同类的对象。
A:对
B:错

在一个类中声明了某个静态数据成员,并在类外给出其定义和初始化后,若未定义该类的对象,该静态数据成员则不存在。
A:错误
B:正确

cin是输出流的一个对象,处理标准输出。
A:对
B:错

说明或定义对象时,类名前面不需要加class关键字。
A:对
B:错

编程是将所设计的算法转换成计算机能够运行的代码的过程。
A:对
B:错

定义模板的关键字是template。
A:对
B:错

程序设计过程是指编写程序的过程。
A:对
B:错

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|超前自学网 ( 皖ICP备20014425号-1 )|网站地图

GMT+8, 2025-5-5 03:09

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.. 技术支持 by 巅峰设计

快速回复 返回顶部 返回列表