东师c++程序设计(高起专)2012秋在线作业答案
2012秋第一次在线作业试卷总分:100 测试时间:--
一、单选题(共20道试题,共60分。)
1.当将一个函数f()说明为另一个类B的友元后,函数f()能够直接访问类B的()。
A. 只能是公有成员
B. 只能是保护成员
C. 只能是除私有成员之外的任何成员
D. 具有任何权限的成员
满分:3分
2.C++程序的执行总是从()开始的。
A. main函数
B. 第一行
C. 头文件
D. 函数注释
满分:3分
3.已知:print( )函数是一个类的常成员函数,它无返回值,下列表示中,()是正确的。
A. void print( ) const;
B. const void print( );
C. void const print( );
D. void print(const);
满分:3分
4.假设Sample是个类,则语句“Sample a[2],*p[3];”调用构造函数的次数为()。
A. 0
B. 2
C. 3
D. 5
满分:3分
5.下面对类的构造函数的定义是() 。
A. void X::X( 参数 )
B. X::X( 参数 )
C. int X::X( 参数 )
D. float X::X( 参数 )
满分:3分
6.下面的类型声明中正确的是()。
A. int &a;
B. int &*p;
C. int & &q;
D. int I,*pp=&I;
满分:3分
7.假设已经有定义const char*name="chen"; 下面的语句中错误的是()。
A. name= 'q';
B. name="lin";
C. name=new char;
D. name=new char('q');
满分:3分
8.当将一个类A说明为另一个类B的友元后,类A能够直接访问类B的()。
A. 只能是公有成员
B. 只能是保护成员
C. 只能是除私有成员之外的任何成员
D. 具有任何权限的成员
满分:3分
9.假定classA为一个类,a为该类公有的数据成员,x为该类的一个对象,则访问x对象中数据成员a的格式为()。
A. x(a)
B. x
C. x->a
D. x.a
满分:3分
10.在C++程序中,对象之间的相互通信通过()。
A. 继承实现
B. 调用成员函数实现
C. 封装实现
D. 函数重载实现
满分:3分
11.假定指针变量p定义“int *p=new int(100);”,要释放p所指向的动态内存,应使用语句()。
A. delete *p;
B. delete &p;
C. delete p;
D. delete []p;
满分:3分
12.已知:类A中一个成员函数说明如下:void Set(A&a);其中,A&的含义是()。
A. 指向类A的指针为a
B. 将a的地址值赋给变量Set
C. a是类A对象的引用,用来作函数Set()的参数
D. 变量A与a按位与作为函数Set( )的参数
满分:3分
13.下面关于静态成员的描述中,正确的是()。
A. 静态数据成员是类的所有对象共享的数据
B. 类的每个对象都有自己的静态数据成员
C. 类的不同对象有不同的静态数据成员值
D. 静态数据成员不能通过类的对象访问
满分:3分
14.在C++中,函数原型不能标识()。
A. 函数的返回类型
B. 函数参数的个数
C. 函数参数类型
D. 函数的功能
满分:3分
15.类中定义的成员默认为()访问属性。
A. public
B. private
C. protected
D. friend
满分:3分
16.C++是一种()的程序设计语言。
A. 面向对象
B. 即可面向过程,又可面向对象
C. 面向过程
D. 面向系统
满分:3分
17.假定classA为一个类,则执行“classA x;”语句时将自动调用该类的()。
A. 无参构造函数
B. 带参构造函数
C. 复制构造函数
D. 赋值重载函数
满分:3分
18.下面对于友元函数描述正确的是()。
A. 友元函数的实现必须在类的内部定义
B. 友元函数是类的成员函数
C. 友元函数破坏了类的封装性和隐藏性
D. 友元函数不能访问类的私有成员
满分:3分
19.一个函数功能不太复杂但要求被频繁调用,应选用()。
A. 内联函数
B. 重载函数
C. 递归函数
D. 嵌套函数
满分:3分
20.当一个函数无返回值时,函数的类型应定义为()。
A. void
B. 任意
C. int
D. 无
满分:3分
二、判断题(共20道试题,共40分。)
1.拷贝构造函数是在用一个对象初始化另一个对象时被调用的。
A. 错误
B. 正确
满分:2分
2.C++既支持面向过程程序设计又支持面向对象程序设计。
A. 错误
B. 正确
满分:2分
3.C++利用类的派生机制实现面向对象程序设计的多态性。
A. 错误
B. 正确
满分:2分
4.构造函数是不能说明它的返回值类型的,但可以说明为void类型。
A. 错误
B. 正确
满分:2分
5.赋值号两边的数据类型不一致时,将无法进行赋值运算。
A. 错误
B. 正确
满分:2分
6.类是C++中自定义的数据类型。
A. 错误
B. 正确
满分:2分
7.C++中的函数就是面向对象理论中的消息。
A. 错误
B. 正确
满分:2分
8.指针是个变量,占有单独的内存空间,而引用本身不是变量,不单独占用内存空间。
A. 错误
B. 正确
满分:2分
9.C++中,对象保存在内存中,栈内存是自动分配和释放的,而堆内存需要用户自己申请和释放。
A. 错误
B. 正确
满分:2分
10.只要一个类定义了一个构造函数(不一定是无参构造函数),系统将不再给它提供缺省的构造函数。
A. 错误
B. 正确
满分:2分
11.new和delete运算符可以被重载。
A. 错误
B. 正确
满分:2分
12.静态成员函数与在一般的成员函数一样,都隐含有一个this指针。
A. 错误
B. 正确
满分:2分
13.类和对象之间的关系是抽象和具体的关系。
A. 错误
B. 正确
满分:2分
14.C++程序设计中,每个语句应以分号结束。
A. 错误
B. 正确
满分:2分
15.对于类中的对象成员既可以在构造函数的初始化列表中初始化也可以在构造函数体中初始化。
A. 错误
B. 正确
满分:2分
16.成员函数体可以写在类的内部也可以写在类的外部。
A. 错误
B. 正确
满分:2分
17.构造函数和析构函数都与类同名。
A. 错误
B. 正确
满分:2分
18.多态性是指不同的对象收到相同的消息时产生多种不同的行为方式。
A. 错误
B. 正确
满分:2分
19.静态数据成员是类中所有对象共享的,可以通过类的对象访问。
A. 错误
B. 正确
满分:2分
20.构造函数和析构函数都不能重载。
A. 错误
B. 正确
满分:2分
2012秋第二次在线作业
试卷总分:100 测试时间:--
一、单选题(共20道试题,共60分。)
1.函数模板的使用实际上是将函数模板实例化成一个具体的()。
A. 类
B. 对象
C. 模板函数
D. 模板类
满分:3分
2.下列运算符中,在C++语言中不能重载的是()。
A. *
B. >=
C. ::
D. /
满分:3分
3.对虚函数的调用()。
A. 一定使用动态联编
B. 一定使用静态联编
C. 一定使用指针
D. 不一定使用动态联编
满分:3分
4.如果表达式++j*k中的“++”和“*”都是重载的友元运算符,则采用运算符函数调用格式,该表达式还可以表示为()。
A. operator*(j,operator++(),k)
B. operator*(operator++(j),k)
C. j.operator++().operator*(k)
D. k.operator*(operator++(j))
满分:3分
5.应在下列程序划线处填入的正确语句是()。 #include class Base { public: void fun(){cout<<"Base::fun"<<ENDL;} }; class Derived:public Base { void fun() {_____________ //显示调用基类的函数fun() cout<<"Derived::fun"<<ENDL; } };
A. fun();
B. Base.fun();
C. Base::fun();
D. Base->fun();
满分:3分
6.一个()允许用户为类定义一种模式,使得类中的某些数据成员及成员函数的返回值能取任意类型。
A. 函数模板
B. 模板函数
C. 类模板
D. 模板类
满分:3分
7.打开一个文件,就是将这个文件与一个()建立关联。
A. 类
B. 流
C. 对象
D. 设备
满分:3分
8.下列()可以是虚函数。
A. 构造函数
B. 拷贝构造函数
C. 静态成员函数
D. 析构函数
满分:3分
9.若有定义“int x=17;”,则语句“cout<<hex<<x;”的输出结果是()。
A. 11
B. 0x11
C. 21
D. 021
满分:3分
10.设有函数模板 template<class Q> Q Sum(Q x,Q y){ return(x)+(y); } 则下列语句中对该函数模板错误的使用是()。
A. Sum(10,2);
B. Sum(5.0,6.7);
C. Sum(15.2f,16.0f);
D. Sum(″AB″,″CD″);
满分:3分
11.在I/O流库中定义的控制浮点数输出精度的函数为()。
A. width()
B. fill()
C. precision()
D. setprecision()
满分:3分
12.关于函数模板,描述错误的是()。
A. 函数模板必须由程序员实例化
B. 函数模板的实例化由编译器实现
C. 一个类定义中,只要有一个函数模板,则这个类是类模板
D. 若类模板的成员函数是函数模板,则类模板实例化后,成员函数也随之实例化
满分:3分
13.下列关于动态联编的描述中,错误的是()。
A. 动态联编是以虚函数为基础的
B. 动态联编是在运行时确定所调用的函数代码的
C. 动态联编需要用指向对象对象的指针或引用来调用需函数
D. 动态联编是在编译时确定操作函数的
满分:3分
14.撤销包含有对象成员的派生类对象时,自动调用析构函数的执行顺序依次为()的析构函数。
A. 基类、自己所属类、对象成员所属类
B. 对象成员所属类、基类、自己所属类
C. 自己所属类、对象成员所属类、基类
D. 基类、对象成员所属类、自己所属类
满分:3分
15.类模板的模板参数()。
A. 只可作为数据成员的类型
B. 只可作用成员函数的返回类型
C. 只可作为成员函数的参数类型
D. 以上三者皆可
满分:3分
16.以下有关继承的叙述正确的是()。
A. 构造函数和析构函数都能被继承
B. 派生类是基类的组合
C. 派生类对象除了能访问自己的成员以外,不能访问基类中的所有成员
D. 基类的公有成员一定能被派生类的对象访问
满分:3分
17.下列关于运算符重载的描述中,正确的是()。
A. 可以改变运算符的目数
B. 可以改变运算符的优先级
C. 可以改变运算符的结合性
D. 可以改变运算符的功能
满分:3分
18.下面叙述不正确的是()。
A. 基类的保护成员在保护派生类中仍然是保护的
B. 基类的保护成员在公有派生类中仍然是保护的
C. 基类的保护成员在私有派生类中仍然是保护的
D. 对基类成员的访问必须是无二义性的
满分:3分
19.建立包含有对象成员的派生类对象时,自动调用构造函数的执行顺序依次为()的构造函数。
A. 基类、自己所属类、对象成员所属类
B. 对象成员所属类、基类、自己所属类
C. 自己所属类、对象成员所属类、基类
D. 基类、对象成员所属类、自己所属类
满分:3分
20.对于类定义 class A{ public: virtual void func1( ){ } void func2( ){ } }; class B:public A{ public: void func1( ){cout<<″class B func 1″<<end1;} virtual void func2( ){cout<<″class B f
A. A::func2( )和B::func1( )都是虚函数
B. A::func2( )和B::func1( )都不是虚函数
C. B::func1( )是虚函数,而A::func2( )不是虚函数
D. B::func1( )不是虚函数,而A::func2( )是虚函数
满分:3分
二、判断题(共20道试题,共40分。)
1.创建派生类对象时,先调用基类的构造函数,再调用派生类的构造函数,当销毁这个对象时顺序正好相反,先调用派生类的析构函数,再调用基类的析构函数。
A. 错误
B. 正确
满分:2分
2.析构函数是可以被派生类继承的。
A. 错误
B. 正确
满分:2分
3.若有声明:class B:virtual public A{};则类A为类B的虚基类。
A. 错误
B. 正确
满分:2分
4.函数模板是基于不同的数据类型完成类似的操作,而重载函数则是对不同的数据类型完成相同的操作。
A. 错误
B. 正确
满分:2分
5.当基类含有带参数的构造函数时,派生类必须定义构造函数。
A. 错误
B. 正确
满分:2分
6.类A继承类B,则A称为B的派生类,B称为A的基类。
A. 错误
B. 正确
满分:2分
7.构造函数和析构函数都可以是虚函数。
A. 错误
B. 正确
满分:2分
8.一个派生类继承多个基类称为虚拟继承。
A. 错误
B. 正确
满分:2分
9.在C++中,只能重载已有的运算符。
A. 错误
B. 正确
满分:2分
10.若有声明:class B:virtual public A{};则类B为类A的虚基类。
A. 错误
B. 正确
满分:2分
11.如果派生类没有实现虚函数,那么它将使用它的基类的虚函数。
A. 错误
B. 正确
满分:2分
12.C++流类库是用继承方法建立起来的,它具有两个平行的基类,即istream类和ostream类,所有其他的流类都是从它们直接或间接地派生出来的。
A. 错误
B. 正确
满分:2分
13.重载函数是基于不同的数据类型完成类似的操作,而函数模板则是对不同的数据类型完成相同的操作。
A. 错误
B. 正确
满分:2分
14.如果要在程序中使用IO流库,应包含头文件iostream.h。
A. 错误
B. 正确
满分:2分
15.cout是I/O流库中预定义的输出流对象,cin是输入流对象。
A. 错误
B. 正确
满分:2分
16.若有声明:class B: A{};则类B的继承方式为私有继承。
A. 错误
B. 正确
满分:2分
17.C++流类库是用继承方法建立起来的,它具有两个平行的基类,即streambuf类和ios类,所有其他的流类都是从它们直接或间接地派生出来的。
A. 错误
B. 正确
满分:2分
18.若一个类A,它的两个直接基类是从同一个间接基类派生而来的,则类A对基类成员的访问会产生二义性。
A. 错误
B. 正确
满分:2分
19.对于同一个运算符来说,重载的运算符的优先级比未重载的运算符的优先级高。
A. 错误
B. 正确
满分:2分
20.析构函数是不能被派生类继承的。
A. 错误
B. 正确
满分:2分
随机作业没有答案,只能辅导
辅导请联系www.ap5u.com右侧客服
页:
[1]