南开《面向对象程序设计》20春期末考核[答案]满分答案
《面向对象程序设计》20春期末考核-00001
试卷总分:100 得分:70
一、单选题 (共 30 道试题,共 30 分)
1.下面对静态数据成员的描述中,正确的是()。
A.静态数据成员可以在类体内进行初始化
B.静态数据成员不可以被该类的对象调用
C.静态数据成员不能受private控制符的作用
D.静态数据成员可以直接用类名访问
2.下列关于赋值运算符重载的说法中正确的是()。
A.返回值一般是以引用方式返回的对象,而函数体中总是用语句“return *this;”返回this指针所指向的对象
B.赋值运算符只能以非成员函数的方式重载
C.赋值运算符既可以以成员函数的方式重载,又可以以非成员函数的方式重载
D.以上均不正确
3.对于下面定义的类A在函数f()中将对象成员n的值修改为60的语句应该是( ) class A { public: A(int x){n=x;} void SetNum(int n1){n=n1;} private: int n; } int f() { A*ptr=new A(6); }
A.A(60)
B.SetNum(60)
C.ptr->SetNum(60)
D.ptr->n=60
4.下面叙述错误的是( )。
A.派生类可以使用private派生
B.对基类成员的访问必须是无二义性的
C.基类成员的访问能力在派生类中维持不变
D.赋值兼容规则也适用于多继承的组合
5.抽象类的作用主要是()。
A.直接用作基类
B.直接用作指针
C.引用的基类型
D.包括以上各项
6.下列对重载函数的描述中,( )是错误的。
A.重载函数中不允许使用默认参数
B.重载函数中编译时根据参数表进行选择
C.不要使用重载函数来描述毫无相干的函数
D.构造函数重载将会给初始化带来多种方式
7.假定X为一个类,执行X a[3],*p[2];语句时会自动调用该类的构造函数( )次。
A.2
B.3
C.4
D.5
8.在一个C++源文件中使用了cin和cout,那么在这个源文件中必须包含()文件。
A.iostream
B.fstream
C.stdio.h
D.stdlib.h
9.下列虚基类的声明中正确的是( )。
A.class virtual B:public A
B.virtual class B:public
C.class B:public A virtual
D.class B: virtual public A
10.空类的声明( )是正确的。
A.class类名;
B.class类名{};
C.class类名{}
D.class类名
11.下列关于成员函数特征的描述中,错误的是()。
A.成员函数可以重载
B.成员函数一定是内联函数
C.成员函数可以设置参数的默认值
D.成员函数可以是静态的
12.友元重载运算符obj1>obj2被C++编译器解释为()。
A.operator>(obj1,obj2)
B.>(obj1,obj2)
C.obj1.operator>(obj2)
D.obj2.operator>(obj1)
13.在C++中,能被派生类继承的函数是( )。
A.成员函数
B.构造函数
C.析构函数
D.拷贝构造函数
14.多态调用是指( )。
A.以任何方式调用一个虚函数
B.以任何方式调用一个纯虚函数
C.借助于指向对象的基类指针或引用调用一个虚函数
D.借助于指向对象的基类指针或引用调用一个纯虚函数
15.一个类的友元函数或友元类能够通过成员操作符访问该类的()。
A.私有成员
B.保护成员
C.公有成员
D.所有成员
16.继承具有(),即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。
A.规律性
B.传递性
C.重复性
D.多样性
17.在下列选项中( )不是ostream类的对象。
A.cin
B.cerr
C.clog
D.cout
18.若析构函数是虚函数,则delete对析构函数的调用采用( )。
A.静态联编
B.动态联编
C.重载函数
D.多重函数
19.下列表示引用的方法中,( )是正确的。 已知:int k=1000;
A.int &x=k;
B.char &y;
C.int &z=1000;
D.float &t=&k;
20.要求打开文件 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);
21.在多继承中,公有派生和私有派生对于基类成员在派生类中的可访问性与单继承的规则()。
A.完全相同
B.完全不同
C.部分相同,部分不同
D.以上都不对
22.面向对象程序设计思想的主要特征中不包括( )。
A.封装性
B.多态性
C.继承性
D.功能分解,逐步求精
23.当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为( )。
A.ios::in
B.ios::out
C.ios::trunk
D.ios::binary
24.假定已定义浮点型变量data,以二进制方式把data的值写入输出文件流对象outfile中去,正确的语句是( )。
A.outfile.write((float *) &data, sizeof(float));
B.outfile.write((float *) &data, data);
C.outfile.write((char *) &data, sizeof(float));
D.outfile.write((char *) &data, data);
25.下列关于主函数的叙述中正确的是()。
A.一个程序可以有多个主函数
B.程序从主函数开始执行
C.一个程序可以没有主函数
D.主函数是一个特殊的函数,因此其结构与其他函数不同
26.下列类中( )是输入/输出流类iostream的派生类。
A.fstream
B.ofstream
C.ifstream
D.ostream