资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
【奥鹏】西安交通大学西交面向对象程序设计在线作业试卷总分:100 得分:100第1题,在下列的各类函数中,( )不是类的成员函数。A、构造函数B、析构函数C、友元函数D、拷贝构造函数正确答案:C第2题,在创建派生类对象时,构造函数的执行顺序是( )。A、对象成员构造函数、基类构造函数、派生类本身的构造函数;B、派生类本身的构造函数、基类构造函数、对象成员构造函数;C、基类构造函数、派生类本身的构造函数、对象成员构造函数;D、基类构造函数、对象成员构造函数、派生类本身的构造函数。正确答案:D第3题,友元的作用之一是( )。A、提高程序的运行效率。B、加强类的封装性。C、实现数据的隐蔽性。D、增加成员函数的种类。正确答案:A第4题,由C+目标文件连接而成的可执行文件的缺省扩展名为( )。A、cppB、exeC、objD、lik正确答案:B第5题,用new运算符创建一个含有10个元素的一维整型数组的正确语句是( )。A、int p=new int(10);B、int p=new int10;C、int *p=new int10;D、int *p=new int(10);正确答案:C第6题,以下关于函数模板的论述中,正确的是( )。A、一旦定义了函数模板,就不能再定义同名的重载函数;B、从同一个函数模板实例化后得到的多个模板函数属于函数重载;C、函数模板中只有一种参数;D、在定义函数模板时,template语句与函数模板定义语句之间可以有别的语句。正确答案:B第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;正确答案:C第8题,一个类的构造函数为 “B(int ax, int bx): a(ax), b(bx) ”,执行 “B x(1,2),y(3,4);x=y;”语句序列后x.a的值为( )。A、1B、2C、3D、4正确答案:C第9题,下述静态数据成员的特性中,( )是错误的。A、声明静态数据成员时前面要加修饰符static。B、静态数据成员要在类体外进行初始化。C、在程序中引用静态数据成员时,要在静态数据成员名前加和作用域运算符。D、静态数据成员是本类中个别对象所共享的。正确答案:D第10题,下述静态数据成员的特性中,( )是错误的。A、声明静态数据成员时前面要加修饰符static。B、静态数据成员要在类体外进行初始化。C、在程序中引用静态数据成员时,要在静态数据成员名前加和作用域运算符。D、静态数据成员是一个类的个别对象所共享的。正确答案:D第11题,下面是重载双目运算符+的普通函数原形,其中最符合+原来含义的是( )。A、Value operator+(Value,Value);B、Value operator+(Value,int);C、Value &operator+(Value,Value*);D、Value &operator+(Value&,Value&);正确答案:A第12题,下面是五条顺序出现的声明语句,非法的初始化语句是( )。A、int i=1;B、const int ic=i;C、const int *pc=D、int *const cpi=E、const int *const cpic=正确答案:D第13题,下面是四条顺序出现的声明语句,非法的初始化语句是( )。A、int i=1;B、const int ic=i;C、const int *pc=D、int *const cpi=正确答案:D第14题,下面关于引用的说法错误的是( )。A、引用是被引用对象的别名B、对引用的修改就是对被引用对象的修改,反之亦然C、引用不一定立即初始化D、引用不能建立数组正确答案:C第15题,下面对友元的错误描述是( )。A、友元函数不可访问对象的private成员B、一个类的成员函数可以是另一个类的友元C、友元类和友元函数均用关键字friend声明D、友元函数可以访问对象的protected成员正确答案:A第16题,下面对模板的声明,正确的是( )。A、templateB、templateC、templateD、template正确答案:C第17题,下列说法错误的是( )。A、在类中,成员的默认访问特性是私有的;B、类封装了数据和操作;C、类实质上是一种数据类型;D、在类的定义中,必须包含private、publicE、protected三种存取方式对应得部分。正确答案:D第18题,下列说法错误的是( )。A、在类中不能对所定义的数据成员进行初始化;B、类的公有成员函数是类与外界的接口;C、同一个类的两个对象占用相同的内存空间;D、类实现数据隐藏。正确答案:C第19题,下列说法不正确的是( )。A、在类中,成员的默认访问特性是私有的。B、类封装了数据和操作。C、类实质上是一种数据类型。D、在类的定义中,必须包含private、publicE、protected三种存取方式对应得部分。正确答案:D第20题,下列说法不正确的是( )。A、在类中不能对所定义的数据成员进行初始化。B、类的公有成员函数是类与外界的接口。C、同一个类的两个对象占用相同的内存空间。D、类实现数据隐藏。正确答案:C第21题,下列函数中,( )不能重载。A、一般的成员函数;B、一般的非成员函数;C、析构函数;D、构造函数。正确答案:C第22题,下列关于运算符重载的描述中,( )是正确的。A、运算符重载可以改变运算数的个数;B、运算符重载可以改变优先级;C、运算符重载可以改变结合性;D、运算符重载不可以改变语法结构。正确答案:D第23题,下列关于虚基类的说法错误的是( )。A、有引入虚基类的目的是解决二义性的问题;B、因为虚基类可被多个派生类继承,因此可以有多个副本以适应不同的派生类;C、若某个类被说明为虚基类,则被重复继承的该类成员在派生类对象中只有一个副本;D、在派生类对象创建时,要保证虚基类的构造函数只被调用一次。正确答案:B第24题,下列关于私有继承的说法中正确的是( )。A、基类成员对派生类新定义的成员函数是不可见的;B、基类成员对派生类新定义的成员函数是可见的;C、只有基类成员中的公有成员对派生类新定义的成员函数是可见的;D、基类成员中的保护成员对派生类新定义的成员函数是可见的。正确答案:D第25题,下列关于类的访问控制机制说法错误的是( )。A、静态数据成员通常都定义为公有类型。B、一个对象的私有成员对于同类的另一个对象是可见的。C、友元机制破坏了类的封装性。D、基类的保护成员对派生类新定义的成员函数是可见的。正确答案:A第26题,下列对引用的陈述中错误的是( )。A、每一个引用都是其所引用对象的别名,因此必须初始化;B、形式上针对引用的操作实际上作用于它所引用的对象;C、一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行;D、不需要单独为引用分配存储空间。正确答案:B第27题,下列对派生类的描述中,( )是错的。A、一个派生类可以作为另一个派生类的基类;B、派生类至少有一个基类;C、派生类的成员除了它自己的成员外,还包含了它的基类的成员;D、派生类中继承的基类成员的访问权限到派生类保持不变;正确答案:D第28题,下列对继承关系的描述中,正确的是( )。A、在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的;B、在公有继承中,基类中只有公有成员对派生类的对象是可见的;C、在私有继承中,基类中只有公有成员对派生类是可见的;D、在私有继承中,基类中的保护成员对派生类的对象是可见的;正确答案:D第29题,下列对继承关系的描述中,( )是正确的。A、在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的;B、在公有继承中,基类中只有公有成员对派生类的对象是可见的;C、在私有继承中,基类中只有公有成员对派生类是可见的;D、在私有继承中,基类中的保护成员对派生类的对象是可见的;正确答案: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正确答案:D第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正确答案:D第32题,下列不是C+基本数据类型的是( )。A、intB、stringC、charD、void正确答案:B第33题,设置虚基类的目的是( )。A、简化程序;B、消除二义性;C、提高运行效率;D、减少目标代码;正确答案:B第34题,若有语句 int *p = new int5; int * pi; 则以下语句中,执行时会造成delete p 语句的执行出错的是( )。A、(*p)+;B、p+;C、pi=p;D、pi=p+3;正确答案:B第35题,若有如下函数模板定义,则正确使用该函数模板的语句是( )。templatevoid 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)?;正确答案:A第36题,派生类的构造函数的成员初始化列表中,不能包含( )。A、基类的构造函数;B、派生类中子对
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号