西交19年《面向对象程序设计》在线作业

作者:奥鹏周老师 分类: 西安交通大学 发布时间: 2019-07-18 14:10
熊猫奥鹏--西交《面向对象程序设计》在线作业
1.在下列的各类函数中,(  )不是类的成员函数。
A.结构函数
B.析构函数
C.友元函数
D.复制结构函数
答案:-

2.在创立派生类目标时,结构函数的履行次序是(  )。
A.目标成员结构函数、基类结构函数、派生类本身的结构函数;
B.派生类本身的结构函数、基类结构函数、目标成员结构函数;
C.基类结构函数、派生类本身的结构函数、目标成员结构函数;
D.基类结构函数、目标成员结构函数、派生类本身的结构函数。
答案:-

3.友元的作用之一是(  )。
A.进步程序的运转功率。
B.加强类的封装性。
C.完成数据的隐蔽性。
D.添加成员函数的品种。
答案:-

4.由C++方针文件衔接而成的可履行文件的缺省扩展名为(  )。
A.cpp
B.exe
C.obj
D.lik
答案:-

5.用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);
答案:-

6.以下关于函数模板的论说中,正确的是(  )。
A.一旦界说了函数模板,就不能再界说同名的重载函数;
B.从同一个函数模板实例化后得到的多个模板函数归于函数重载;
C.函数模板中只要一种参数;
D.在界说函数模板时,template句子与函数模板界说句子之间能够有别的句子。
答案:-

7.已知:p是一个指向类A数据成员m的指针,A1是类A的一个目标。假如要给A1的m赋值为5,(  )是正确的。
A.A1.p=5;
B.A1-p=5;
C.A1.*p=5;
D.*A1.p=5;
答案:-

8.一个类的结构函数为 “B(int ax, int bx): a(ax), b(bx) {}”,履行 “B x(1,2),y(3,4);x=y;”句子序列后x.a的值为(  )。
A.1
B.2
C.3
D.4
答案:-

9.下述静态数据成员的特性中,(  )是过错的。
A.声明静态数据成员时前面要加修饰符static。
B.静态数据成员要在类体外进行初始化。
C.在程序中引证静态数据成员时,要在静态数据成员名前加和作用域运算符。
D.静态数据成员是本类中单个目标所同享的。
答案:-

10.下述静态数据成员的特性中,(  )是过错的。
A.声明静态数据成员时前面要加修饰符static。
B.静态数据成员要在类体外进行初始化。
C.在程序中引证静态数据成员时,要在静态数据成员名前加和作用域运算符。
D.静态数据成员是一个类的单个目标所同享的。
答案:-

11.下面是重载双目运算符+的一般函数原形,其中最契合+原来意义的是(  )。
A.Value operator+(Value,Value);
B.Value operator+(Value,int);
C.Value &operator+(Value,Value*);
D.Value &operator+(Value&,Value&);
答案:-

12.下面是五条次序呈现的声明句子,不合法的初始化句子是(  )。
A.int i=–1;
B.const int ic=i;
C.const int *pc=
D.int *const cpi=
E.const int *const cpic=
答案:-

13.下面是四条次序呈现的声明句子,不合法的初始化句子是(  )。
A.int i=–1;
B.const int ic=i;
C.const int *pc=
D.int *const cpi=
答案:-

14.下面关于引证的说法过错的是(  )。
A.引证是被引证目标的别号
B.对引证的修正便是对被引证目标的修正,反之亦然
C.引证不一定当即初始化
D.引证不能树立数组
答案:-

15.下面临友元的过错描绘是(  )。
A.友元函数不行拜访目标的private成员
B.一个类的成员函数能够是另一个类的友元
C.友元类和友元函数均用关键字friend声明
D.友元函数能够拜访目标的protected成员
答案:-

16.下面临模板的声明,正确的是(  )。
A.template
B.template
C.template
D.template
答案:-

17.下列说法过错的是(  )。
A.在类中,成员的默许拜访特性是私有的;
B.类封装了数据和操作;
C.类实质上是一种数据类型;
D.在类的界说中,有必要包括private、public
E.protected三种存取方法对应得部分。
答案:-

18.下列说法过错的是(  )。
A.在类中不能对所界说的数据成员进行初始化;
B.类的公有成员函数是类与外界的接口;
C.同一个类的两个目标占用相同的内存空间;
D.类完成数据隐藏。
答案:-

19.下列说法不正确的是(  )。
A.在类中,成员的默许拜访特性是私有的。
B.类封装了数据和操作。
C.类实质上是一种数据类型。
D.在类的界说中,有必要包括private、public
E.protected三种存取方法对应得部分。
答案:-

20.下列说法不正确的是(  )。
A.在类中不能对所界说的数据成员进行初始化。
B.类的公有成员函数是类与外界的接口。
C.同一个类的两个目标占用相同的内存空间。
D.类完成数据隐藏。
答案:-

21.下列函数中,(  )不能重载。
A.一般的成员函数;
B.一般的非成员函数;
C.析构函数;
D.结构函数。
答案:-

22.下列关于运算符重载的描绘中,(  )是正确的。
A.运算符重载能够改动运管用的个数;
B.运算符重载能够改动优先级;
C.运算符重载能够改动结合性;
D.运算符重载不能够改动语法结构。
答案:-

23.下列关于虚基类的说法过错的是(  )。
A.有引进虚基类的目的是处理二义性的问题;
B.因为虚基类可被多个派生类承继,因而能够有多个副本以习惯不同的派生类;
C.若某个类被说明为虚基类,则被重复承继的该类成员在派生类目标中只要一个副本;
D.在派生类目标创立时,要确保虚基类的结构函数只被调用一次。
答案:-

24.下列关于私有承继的说法中正确的是(  )。
A.基类成员对派生类新界说的成员函数是不行见的;
B.基类成员对派生类新界说的成员函数是可见的;
C.只要基类成员中的公有成员对派生类新界说的成员函数是可见的;
D.基类成员中的维护成员对派生类新界说的成员函数是可见的。
答案:-

25.下列关于类的拜访控制机制说法过错的是(  )。
A.静态数据成员一般都界说为公有类型。
B.一个目标的私有成员关于同类的另一个目标是可见的。
C.友元机制破坏了类的封装性。
D.基类的维护成员对派生类新界说的成员函数是可见的。
答案:-

26.下列对引证的陈说中过错的是(  )。
A.每一个引证都是其所引证目标的别号,因而有必要初始化;
B.形式上针对引证的操作实际上作用于它所引证的目标;
C.一旦界说了引证,全部针对其所引证目标的操作只能通过该引证间接进行;
D.不需要独自为引证分配存储空间。
答案:-

27.下列对派生类的描绘中,(  )是错的。
A.一个派生类能够作为另一个派生类的基类;
B.派生类至少有一个基类;
C.派生类的成员除了它自己的成员外,还包括了它的基类的成员;
D.派生类中承继的基类成员的拜访权限到派生类坚持不变;
答案:-

28.下列对承继联系的描绘中,正确的是(  )。
A.在公有承继中,基类中的公有成员和私有成员在派生类中都是可见的;
B.在公有承继中,基类中只要公有成员对派生类的目标是可见的;
C.在私有承继中,基类中只要公有成员对派生类是可见的;
D.在私有承继中,基类中的维护成员对派生类的目标是可见的;
答案:-

29.下列对承继联系的描绘中,(  )是正确的。
A.在公有承继中,基类中的公有成员和私有成员在派生类中都是可见的;
B.在公有承继中,基类中只要公有成员对派生类的目标是可见的;
C.在私有承继中,基类中只要公有成员对派生类是可见的;
D.在私有承继中,基类中的维护成员对派生类的目标是可见的;
答案:-

30.下列程序段不会发作二义性的是(  )。
A.int fun(double p){...;}
B.int fun(float p){...;}
float fun(float p){...;}float fun(unsigned p){...;}
int x;int x;
x=fun(0);x=fun(0);
C.int fun(int i,int j=2){...;}
D.int fun(int i=2,int j=2){...;}
float fun(int i){...;}int fun(int *p){...;}
cout
答案:-

31.下列程序段不会发作二义性的是(  )。
A.int fun(double p){...;}
B.int fun(float p){...;}
float fun(float p){...;}float fun(unsigned p){...;}
int x;int x;
x=fun(0);x=fun(0);
C.int fun(int i,int j=2){...;}
D.int fun(int i=2,int j=2){...;}
float fun(int i){...;}int fun(int *p){...;}
cout
答案:-

32.下列不是C++根本数据类型的是(  )。
A.int
B.string
C.char
D.void
答案:-

33.设置虚基类的目的是(  )。
A.简化程序;
B.消除二义性;
C.进步运转功率;
D.削减方针代码;
答案:-

34.若有句子 int *p = new int[5]; int * pi; 则以下句子中,履行时会造成delete[ ] p 句子的履行出错的是(  )。
A.(*p)++;
B.p++;
C.pi=p;
D.pi=p+3;
答案:-

35.若有如下函数模板界说,则正确运用该函数模板的句子是(  )。
template
void add(type a, type b, type &c)
{   c=a+b?;   }
A.float x,y,z;add(x,y,z)?;
B.int x,y,z;add(x,y,&z)?;
C.float x,y?;int z;add(x,y,z)?;
D.float x,y?;int z;add(x,y,&z)?;
答案:-

36.派生类的结构函数的成员初始化列表中,不能包括(  )。
A.基类的结构函数;
B.派生类中子目标的初始化;
C.基类的子目标初始化;
D.派生类中一般数据成员的初始化;
答案:-

37.类模板的作用是能够将其实例化后得到一个具体的(  )。
A.类
B.目标
C.模板类
D.模板函数
答案:-

38.基类A中有成员函数fn1()、fn2(),在派生类B中重载了成员函数fn1()(即重新界说了fn1()),但没有重载其成员函数fn2()。假如在派生类B中调用基类A的成员函数fn1()(不是B中重载的数fn1())和fn2(),则正确的方法是(  )。
A.A::fn1()和fn2();
B.fn1()和A::fn2();
C.A::fn1()和A::fn2();
D.fn1()和fn2();
答案:-

39.函数重载与函数模板的说法过错的是(  )。
A.当函数的函数体不一起,能够把函数规划为重载函数;
B.当函数体相同,只是操作的数据类型不一起,可把函数规划为模板;
C.重载函数和函数模板都是抽象的,都需实例化;
D.函数模板有待于实例化为模板函数,重载函数能够直接引证。
答案:-

40.关于运转时多态的下列描绘中,(  )是过错的。
A.运转时多态是以虚函数为根底的;
B.运转时多态是在运转时确认所调用的函数代码的;
C.用基类指针或引证所标识的派生类目标来操作虚函数才干完成运转时多态;
D.运转时多态是在编译时确认操作函数的。
答案:-

41.关于以下程序段中语法过错的正确描绘是(  )。
#include
voidmain()
{
constchar*p1=”string1”;
char*constp2=”string”;
char*p3=”string3”;
p1[2]=’a’;//①
p2[2]=’b’;//②
p1=p3;//③
p2=p3;//④
}
A.①②③④均过错
B.①和④过错
C.②和③过错
D.③和④过错
答案:-

42.关于静态成员,正确的说法是(  )。
A.静态成员函数能够直接拜访该类中的非静态成员
B.非静态成员函数不能直接拜访该类中的静态成员
C.静态数据成员同其它数据成员一样通过结构函数进行初始化
D.静态成员在任何目标创立之前就已经创立
答案:-

43.关于承继中呈现的二义性的描绘中,(  )是过错的。
A.一个派生类的两个基类中都有某个同名成员,在派生类中对这个成员的拜访或许呈现二义性;
B.处理二义性的最常用的方法是对成员名的限制法;
C.在单承继情况下,派生类中对基类成员的拜访也会呈现二义性;
D.一个派生类是从两个基类派生出来的,而这两个基类又有一个共同的基类,对该基类成员进
答案:-

44.关于基类和派生类的联系,(  )是过错的。
A.派生类目标归于基类;
B.能够用派生类指针指向派生类目标;
C.能够将基类目标赋值给派生类目标;
D.派生类目标指针可转换为基类指针。
答案:-

45.关于C++中的承继机制,过错的说法是(  )。
A.虚拟承继限制基类只能通过一条途径派生出派生类;
B.处理多承继带来的二义性的方法之一是对成员名加以限制;
C.派生类的结构函数的成员初始化列表中,可包括基类中的子目标;
D.承继是一种组织类的根本手段。
答案:-

46.关于下面的两条句子,正确的描绘是(  )。MyObject a(2), b(a), c;  c = b = a;
A.复制结构函数履行了1次;
B.赋值运算符重载函数履行了3次;
C.复制结构函数函数履行了3次;
D.赋值运算符重载函数履行了1次;
答案:-

47.关于如下类的界说,下面句子组中呈现语法过错的是(  )。
class X{int a;
public:X(int x=0) {a=x;}
};
class Y:class X{int b;
public:Y(int x=0,int y=0):X(x) {b=x;}
};
A.X *pa=new Y(1,2);
B.Xa1=Y(1,3);
C.Yb1(2,3);X&a3=b1;
D.Xa4(10);Yb2=a4;
答案:-

48.关于类模板,其类型形参能够作为(  )。
A.成员函数的形参类型
B.成员函数的回来类型
C.数据成员的类型
D.以上三种均可
答案:-

49.带有虚基类的多层派生类结构函数的成员初始化列表中都要列出虚基类的结构函数,这样将对虚基类的子目标初始化(  )。
A.与虚基类下面的派生类个数有关
B.屡次
C.二次
D.一次
答案:-

50.不能够成为类的数据成员的是(  )。
A.本身类的目标
B.另一个类的目标
C.本身类的指针或引证
D.其他根本数据类型
答案:-
 

作业答案 联系QQ:3326650399 微信:cs80188