22秋西交《面向对象程序设计》在线作业[正确答案]单选题答案
西交《面向对象程序设计》在线作业-00002
试卷总分:100 得分:100
一、单选题 (共 30 道试题,共 60 分)
1.类中定义的成员默认为(??)访问属性。
A.public
B.private
C.protected
D.friend
正确答案:D
2.下列程序段不会发生二义性的是_______。
A.int fun(double p){...;}
正确答案:C
float fun(float p){...;}
int x;
x=fun(0);
B.int fun(float p){...;}
float fun(unsigned p){...;}
正确答案:D
int x;
x=fun(0);
C.int fun(int i,int j=2){...;}
float fun(int i){...;}
cout<<fun(5);
D.int fun(int i=2,int j=2){...;}
随机答案:ABCD
int fun(int *p){...;}
cout<<fun(5);
3.关于基类和派生类的关系,()是错误的。
A.派生类对象属于基类;
B.可以用派生类指针指向派生类对象;
C.可以将基类对象赋值给派生类对象;
D.派生类对象指针可转换为基类指针。
正确答案:C
4.用关键字( )标记的函数被称为虚函数。
A.virtual
B.private
C.public
D.protected
正确选项:--------
5.下列对派生类的描述中,( )是错的。
A.一个派生类可以作为另一个派生类的基类;
B.派生类至少有一个基类;
C.派生类的成员除了它自己的成员外,还包含了它的基类的成员;
D.派生类中继承的基类成员的访问权限到派生类保持不变;
正确答案:C
6.有关析构函数的说法不正确的是_____.
A.析构函数有且只有一个
B.析构函数和构造函数一样可以有形参
C.析构函数无任何函数类型
D.析构函数的作用是在对象被撤销时收回先前分配的内存空间
正确选项:--------
7.如果类A被说明成类B的友元,则( )
A.类A的成员即类B的成员
B.类B的成员即类A的成员
C.类A的成员函数不得访问类B的成员
D.类B不一定是类A的友元
正确答案:B
8.下列关于类的访问控制机制说法错误的是()。
A.静态数据成员通常都定义为公有类型。
B.一个对象的私有成员对于同类的另一个对象是可见的
C.友元机制破坏了类的封装性。
D.基类的保护成员对派生类新定义的成员函数是可见的。
正确答案:B
9.C++类体系中,不能被派生继承的有( )。
A.转换函数
B.构造函数
C.虚函数
D.静态成员函数
随机答案:ABCD
10.为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择( )。
A.内置函数
B.重载函数
C.递归函数
D.函数模板
正确选项:--------
11.用new运算符创建一个含有10个元素的一维整型数组的正确语句是( )。
A.int p = new int(10);
B.int p = new int[10];
C.int *p = new int [10];
D.int *p = new int(10);
正确选项:--------
12.下列程序段不会发生二义性的是( )。
A.intfun(doublep){...;}
正确答案:A
B.intfun(floatp){...;} floatfun(floatp){...;}floatfun(unsignedp){...;} intx;intx; x=fun(0);x=fun(0);
随机答案:ABCD
C.intfun(inti,intj=2){...;}
D.intfun(inti=2,intj=2){...;} floatfun(inti){...;}intfun(int*p){...;} cout<<fun(5);cout<<fun(5);
正确答案:C
13.下述静态数据成员的特性中,()是错误的。
A.声明静态数据成员时前面要加修饰符static。
B.静态数据成员要在类体外进行初始化。
C.在程序中引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符。
D.静态数据成员是一个类的个别对象所共享的。
随机答案:ABCD
14.若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字( )放在函数原型或函数头的前面。
A.in
B.inline
C.inLine
D.InLiner
随机答案:ABCD
15.若需要使类中的一个指针成员指向一块动态存储空间,则通常在( )函数中完成。
A.析构
B.构造
C.任一成员
D.友元
正确答案:B
16.C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是( )。
A.增加了一些新的运算符
B.允许函数重载,并允许设置缺省参数
C.规定函数说明符必须用原型
D.引进了类和对象的概念
正确答案:C
17.关于运算符重载,下列说法正确的是( )。
A.重载时,运算符的优先级可以改变。
B.重载时,运算符的结合性可以改变。
C.重载时,运算符的功能可以改变。
D.重载时,运算符的操作数个数可以改变。
正确答案:D
18.用“>>”运算符从键盘输入多于一个数据时,各数据之间应使用( )符号作为分隔符。
正确答案:B
A.空格或逗号
B.逗号或回车
C.逗号或分号
D.空格或回车
随机答案:ABCD
19.下列说法错误的是()。
A.在类中不能对所定义的数据成员进行初始化;
B.类的公有成员函数是类与外界的接口
C.同一个类的两个对象占用相同的内存空间;
D.类实现数据隐藏。
正确答案:A