可做奥鹏院校所有作业,毕业论文,咨询请添加QQ:3230981406 微信:aopopenfd777
-[南开大学(本部)]20秋学期(1709、1803、1809、1903、1909、2003、2009 )《面向对象程序设计》在线作业
试卷总分:100 得分:100
第1题,已知"int a=10,*p;int *&r=p; r=&a;*p=20;couta;",则输出为()。
A、10
B、20
C、不确定值
D、程序有错误
正确答案:
第2题,可以用p.a的形式访问派生类对象p的基类成员a其中a是( )。
A、私有继承的公有成员
B、公有继承的私有成员
C、公有继承的保护成员
D、公有继承的公有成员
正确答案:
第3题,下列关于虚函数的说明中,正确的是()。
A、从虚基类继承的函数都是虚函数
B、虚函数不得是静态成员函数
C、只能通过指针或引用调用虚函数
D、抽象类中的成员函数都是虚函数
正确答案:
第4题,在一个string类对象表示的字符串中查找子串,应该使用string类的()函数。
A、assign
B、insert
C、swap
D、find
正确答案:
答案来源:(www.),执行语句"string str("abc");"时,系统会自动调用string类的构造函数()。
A、string()
B、string(const char *s)
C、string(const string &str)
D、string(size_type n, char c)
正确答案:
第6题,下面说法中正确的是( )。
A、一个类只能定义一个构造函数,但可以定义多个析构函数
B、一个类只能定义一个析构函数,但可以定义多个构造函数
C、构造函数与析构函数同名,只要名字前加了一个求反符号(~)
D、构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是void类型也不可以
正确答案:
第7题,已知函数原型:void f(int a, int b=3,char c='*'); 则下面的函数调用中,不合法的调用是()。
A、f(5)
B、f(5,8)
C、f(6, , '#')
D、f(0,0, '#')
正确答案:
第8题,( )是析构函数的特征。
A、析构函数可以有一个或多个参数
B、析构函数定义只能在类体内
C、析构函数名与类名不同
D、一个类中只能定义一个析构函数
正确答案:
第9题,已知"int a=10;int &r=a; r=r+20;couta;",则输出为()。
A、10
B、20
C、30
D、不确定值
正确答案:
答案来源:(www.),关于下面程序段说法正确的是( )
class X
{
private:
int n;
public:
X(X&);
};
X::X(X&x) {n=x.n}
X obj1,obj2(obj1);
A、语句obj2(obj1);的功能是用对象obj1初始化具有相同类类型的对象obj2
B、语句obj2(obj1);的功能是用对象obj2初始化具有相同类类型的对象obj1
C、X(X&x)中的&符号可以删除
D、X(X&x)函数中不能访问对象的私有成员
正确答案:
第11题,类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);
正确答案:
答案来源:(www.),包含类fstream定义的头文件是( )。
A、fstream
B、ofstream
C、ifstream
D、iostream
正确答案:
第13题,如果类A被说明成类B的友元,则()。
A、类A的成员函数不得访问类B的所有成员
B、类A的成员函数可以访问类B的所有成员
C、类A的成员即类B的成员
D、类B的成员即类A的成员
正确答案:
第14题,进行文件操作时需要包含_
()头文件。
A、iostream
B、fstream
C、stdio
D、stdlib
正确答案:
答案来源:(www.),派生类中的成员不能访问基类中的()。
A、私有成员
B、公有成员
C、保护成员
D、以上都可以
正确答案:
第16题,下列关于类的继承描述中,( )是错误的。
A、派生类可以访问基类的所有数据成员,也能调用基类的所有成员函数
B、派生类也是基类,但基类不一定具有派生类的全部属性和方法
C、继承描述类的层次关系,派生类可以具有与基类相同的属性和方法
D、一个基类可以有多个派生类,一个派生类可以有多个基类
正确答案:,D
第17题,要求打开文件 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:ut);
D、fstream infile("d:\\file.dat", ios::in| ios:ut);
正确答案:
第18题,空类的声明( )是正确的。
A、class类名;
B、class类名{};
C、class类名{}
D、class类名
正确答案:
第19题,对于多重继承,有( )。
A、一个派生类只能有一个基类
B、一个基类只能产生一个派生类
C、一个基类必须产生多个派生类
D、一个派生类可有多个基类
正确答案:
答案来源:(www.),( )的功能是对对象进行初始化。
A、析构函数
B、数据成员
C、构造函数
D、静态数据成员
正确答案:
第21题,在C++中,要实现动态联编,可以使用( )调用虚函数。
A、类名
B、派生类指针
C、对象名
D、基类指针
正确答案:
第22题,在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是()。
A、派生类的对象可以直接访问基类的所有成员
B、派生类的对象可以初始化基类的引用
C、派生类的对象不可以直接访问基类中的私有成员
D、派生类的对象的地址可以赋给指向基类的指针
正确答案:
第23题,下列关于C++类的描述中错误的是( )。
A、类与类之间可以通过一些手段进行通信和联络
B、类用于描述事物的属性和对事物的操作
C、类与类之间必须是平等的关系,而不能组成层次关系
D、类与类之间可以通过封装而具有明确的独立性
正确答案:
第24题,已知X类.则当程序执行到语句X *array=new X[2];时,调用了( )次构造函数。
A、0
B、1
C、2
D、3
正确答案:
答案来源:(www.),下列关于构造函数调用顺序的描述中,正确的是()。
A、创建派生类对象时,先调用基类的构造函数,后调用派生类的构造函数
B、创建基类对象时,先调用基类的构造函数,后调用派生类的构造函数
C、创建派生类对象时,先调用派生类的构造函数,后调用基类的构造函数
D、创建基类对象时,先调用派生类的构造函数,后调用基类的构造函数
正确答案:
第26题,对基类和派生类的描述中错误的是( )。
A、派生类是基类的具体化
B、基类继承了派生类的属性
C、派生类是基类定义的延续
D、派生类是基类的特殊化
正确答案:
第27题,声明一个类的对象时,系统自动调用( )函数。
A、成员函数
B、构造函数
C、析构函数
D、普通函数
正确答案:
第28题,在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是()。
A、派生类的对象可以赋给基类对象
B、派生类的对象可以初始化基类的引用
C、派生类的对象可以直接访问基类的成员
D、派生类的对象的地址可以赋给指向基类的指针
正确答案:
第29题,在使用类创建对象时,系统会自动调用该对象的()完成对象中数据成员的初始化等操作。
A、友元函数
B、虚函数
C、构造函数
D、析构函数
正确答案:
答案来源:(www.),下列关于构造函数的描述中,错误的是( )。
A、构造函数可以设置默认参数
B、构造函数在说明类变量时自动执行
C、构造函数可以对静态数据成员进行初始化
D、构造函数可以重载
正确答案:
第31题,下列引用的定义中,( )是错误的。
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;
正确答案:
第32题,在C++中,类与类之间的继承关系具有( )。
A、自反性
B、对称性
C、传递性
D、反对称性
正确答案:
第33题,下面关于类的成员函数描述不正确的是()。
A、静态成员函数内可以直接访问类的非静态成员数据
B、静态成员函数内可以直接访问类的静态成员数据
C、非静态成员函数可以直接访问类的非静态成员数据
D、非静态成员函数可以直接访问类的静态成员数据
正确答案:
第34题,在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和函数的返回值( )。
A、不同
B、相同
C、相容
D、部分相同
正确答案:
第35题,用于类中虚成员函数说明的关键字( )。
A、virtual
B、public
C、protected
D、private
正确答案:
第36题,以app方式打开文件时,当前的读指针和写指针都定位于文件尾。
T、对
F、错
正确答案:
第37题,派生类对基类继承的成员函数进行重定义后,则通过派生类对象和基类对象调用的都是重定义后的成员函数。
T、对
F、错
正确答案:
第38题,C++的I/O系统通过流的机制实现文件和控制台的输入输出操作。
T、对
F、错
更多答案下载:(www.)
第39题,定义重载函数时,应保证函数类型有所不同。
T、对
F、错
正确答案:F
第40题,在一个类中最多只能定义1个构造函数和1个析构函数。
T、对
F、错
正确答案:
第41题,派生类是从基类派生出来,它不能再生成新的派生类。
T、对
F、错
正确答案:
第42题,C语言中scanf命令在c++中改用cin。
T、对
F、错
更多答案下载:(www.)
第43题,预定义的提取符和插入符是可以重载的。
T、对
F、错
更多答案下载:(www.)
第44题,对象数组的元素可以是不同类的对象。
T、对
F、错
正确答案:
第45题,在一个类中声明了某个静态数据成员,并在类外给出其定义和初始化后,若未定义该类的对象,该静态数据成员则不存在。
A、错误
B、正确
正确答案:
第46题,cin是输出流的一个对象,处理标准输出。
T、对
F、错
正确答案:
第47题,说明或定义对象时,类名前面不需要加class关键字。
T、对
F、错
更多答案下载:(www.)
第48题,编程是将所设计的算法转换成计算机能够运行的代码的过程。
T、对
F、错
更多答案下载:(www.)
第49题,定义模板的关键字是template。
T、对
F、错
更多答案下载:(www.)
答案来源:(www.),程序设计过程是指编写程序的过程。
T、对
F、错
正确答案:F