地大《面向对象程序设计(新)》在线作业二
共25道题 总分:100分
一、单选题(共15题,60分)
1.下列程序的执行结果为()。 #include void main() { int a=3,b=0; int*p=&a: b=+a++; cout<<*P<<”,”<<endl }
A、3,4
B、4,3
C、3,4
D、4,4
2.已知函数f 的原型是void f(int *a, long & b);,变量v1、v2 的定义是:int v1; loong v2;下列调用语句中正确的是
A、f(v1, &v2);
B、f(v1, v2);
C、f(&v1, &v2);
D、f(&v1, v2);
3.以下结构类型可用来构造链表的是()
A、struct aa{ int a;int * b;};
B、struct bb{ int a;bb * b;};
C、struct cc{ int * a;cc b;};
D、struct dd{ int * a;aa b;};
4.执行语句 char ch[] = “Hello”; char * p = &ch[0]; cout << p; 结果是输出()
A、一个地址
B、H
C、Hello
D、乱码
5.类C是以多重继承的方式从类A和类B继承而来的,类A和类B无公共的基类,那么()
A、类C的继承方式只能采用public继承
B、可改用单继承的方式实现类C的同样功能
C、类A和类B至少有一个是抽象类
D、类A和类B至少有一个是虚基类
6.C++异常处理机制中没有()
A、try
B、throw
C、catch
D、finally
7.决定C++语言中函数的返回值类型的是
A、return语句中的表达式类型
B、调用该函数时系统随机产生的类型
C、调用该函数时的主调用函数类型
D、在定义该函数时所指定的数据类型
8.有如下类和对象的定义:class Constants{public;static double getPI(){return 3.1416;}};Constants constants;下列各组语句中,能输出3.1416 的是()
A、cout<<constants->getPI();和cout<<Constants::gerPI();
B、cout<<constants.getPI();和cout<<Constants.getPI();
C、cout<<constants->getPI();和cout<<Constants->getPI();
D、cout<<constants.getPI();和cout<<Constants::getPI();
9.设int x;,则经过( )后,语句*px=0;可将x值置为0
A、int * px;
B、int const * px=&x;
C、int * const px=&x;
D、const int * px=&x;
10.类A中有唯一的非静态成员函数int f(A& one)和私有的数据成员int x;,那么在此成员函数的函数体中可以有语句()
A、return one.f(this);
B、x=f(this);
C、this->f(x.one);
D、int* const pX=&one.x;
11.对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是
A、公有类型
B、私有类型
C、保护类型
D、友元类型
12.下面对静态数据成员的描述中,正确的是()
A、静态数据成员可以在类体内进行初始化
B、静态数据成员不可以被类的对象调用
C、静态数据成员不能受private控制符的作用
D、静态数据成员可以直接用类名调用
13.当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为
A、ios::in
B、ios::out
C、ios::int | ios::out地大答案请进:opzy.net或请联系微信:1095258436
D、没有
14.设int f(int);和int g(int);是函数f和g的原形,以下将f作为语句调用的是()
A、g(f(3));
B、f(g(3));
C、g(f(3)+2);
D、p= f(g(3)+1);
15.在进行完任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是()
A、fail
B、eof
C、bad
D、good
二、多选题(共5题,20分)
1.关于公共静态数据成员,下面说法正确的是()
A、在main函数之前创建
B、跟某个具体对象无关
C、可以用类名和成员名直接访问
D、需要在类体外初始化
2.下列有关抽象类和纯虚函数的叙述中,错误的是()
A、拥有纯虚函数的类是抽象类,能用来定义对象
B、抽象类的派生类若不实现纯虚函数,它也是抽象类
C、纯虚函数的声明以“=0;”结束
D、纯虚函数都不能有函数体
3.关于异常和C++提供的异常处理机制正确的说法是()
A、若程序员预见到程序中的异常,则一定可以通过修改程序代码来避免异常出现
B、使用dynamic_cast操作符可能会产生异常
C、异常可以用catch进行捕获处理
D、异常可以是对象,也可以是普通整数
4.以下哪些是面向对象程序设计的特征( )
A、抽象
B、封装
C、继承
D、多态
5.关于构造函数说法正确的是()
A、函数名只能是类名
B、返回类型可以是任意的
C、参数个数和类型可以是任意的
D、在对象创建时自动调用
三、判断题(共5题,20分)
1.面向对象程序设计通过继承和重载两种机制实现多态
A、错误
B、正确
2.构造函数的初始化列表中的内容,不会影响构造对象中成员数据的初始化顺序。
A、错误
B、正确
3.友元函数的声明不受访问区域的影响
A、错误
B、正确
4.内联inline函数表示编译器一定会将函数体直接插入到调用此函数的地方,这样可以加快程序的运行速度。
A、错误
B、正确
5.函数体内声明的静态变量,至多只会被初始化一次
A、错误
B、正确