《面向对象程序设计》在线作业一
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 100 分)
在公有派生中,如果基类和派生类有原型完全相同的成员函数,且都为public权限,若通过派生类的对象调用该成员函数,则()。
A.系统将先调用基类的同名函数,再调用派生类的同名函数。
B.系统将先调用派生类的同名函数,再调用基类的同名函数。
C.系统直接调用基类的同名函数,不调用派生类的同名函数。
D.系统直接调用派生类的同名函数。
2.如果一个函数被说明为一个类的友元,则()。
A.该类可以使用该函数的局部变量
B.该函数可以使用该类中成员函数的局部变量
C.该函数可以直接使用该类的私有成员
D.该函数可以通过对象使用该类的任意成员
3.已知类A是类B的友元,类B是类C的友元,则()。
A..类A是类C的友元
B..类C是类A的友元
C..类A的成员函数可以访问类B对象的任何成员
D..类C的成员函数可以访问类B对象的任何成员
4.设有说明语句:int x=1,y=3,z=5;则下面表达式中值为0的是()。
A.x&&z
B.(y!=1)&&(z!=0)
C.(x<y)&&x<z
D.x||y>3&&z>5
静态数据成员的初始化必须在()。
A.类内
B.类外
C.构造函数内
D.静态成员函数内
6.判断字符型变量c的值是否为大写英文字母的表达式是()。
A.c>=A && c<=Z
B.c>=’A’ || c<=’Z’
C.c>=”A” && c<=”Z”
D.c>=’A’ && c <= ‘Z’
7.C++中函数原型不能标识()。
A..函数的返回类型
B..函数的功能;
C..函数参数的个数
D.函数参数的类型
8.设B类是A类的派生类。当创建一个B类的对象时,构造函数的调用顺序是()。
A.先调用A类的构造函数,然后调用B类的构造函数
B.先调用B类的构造函数,然后调用A类的构造函数
C.不调用A类的构造函数
D.视定义时A类和B类出现的位置
9.设有说明char ch=’a’; int x=3;float y=4;double z=5;,则表达式ch*(x-y)/z的数据类型是。
A.char
B.不确定
C.int
D.double
10.设有定义char str[]=“abcde”,则下列语句中能正确输出字符串的是()。
A.cout<<str[];
B.cout<<str;
C.cout<<&str;
D.cout<<str[0];
在C++中,不能被派生类继承的基类成员是()。
A.函数成员
B.构造函数和析构函数
C.数据成员
D.私有成员
12.假定AB为一个类,则执行“AB a(4),b[5],*p[2];”语句时,自动调用该类构造函数的次数为()。
A.6
B.7
C.9
D.11
13.设int a,*p=&a; double b,*q; 则以下语句中正确的是()。
A.p=&b;
B.q=p;
C.p=NULL
D.q=new int;
14.函数重载是指()。
A..两个以上的函数取相同的函数名,但形参的个数或类型不同
B..两个以上的函数取相同的名字和相同的参数个数,但形参的类型可以不同
C..两个以上的函数名字不同,但形参的个数或类型相同
D..两个以上的函数名字、参数的个数和类型都相同
15.设有函数原型声明void f(int&a);及double a(2.2); int b(3);则以下函数调用中正确的是()。
A.f (a+b);
B.f (&b);
C.f (a);
D.f (b);
16.设有定义: int i=8,a,b; double x=1.34,y=5.3; 下列表达始中,符合C++语法的是()。
A.a+=a-=(a=3)*(b=4)
B.x%5
C.a=a*3=2
D.y=float(i)++
17.类Mclass的拷贝初始化构造函数是()。
A.Mclass( )
B.Mclass(Mclass)
C.Mclass(Mclass *)
D.Mclass(Mclass&)
18.以下运算符中不能重载的是()。
A..&
B.!=
C.::
D.%
19.以下的函数或运算符不能重载的是()。
A.类的成员函数
B.类的构造函数
C.类的析构函数
D.&运算符
20.若一个类的构造函数为Node (int a, int b) {x=a; y=x * b;},则执行语句Node x (5, 6); 后,对象x的成员x和y的值分别是()。
A.5和6
B.6和5
C.30和5
D.5和30
转载请注明:奥鹏作业之家 » 天大20秋《面向对象程序设计》在线作业一【标准答案】