奥鹏作业答案 发表于 2017-6-23 15:32:27

东师《C++程序设计》17春在线作业2答案资料

C++程序设计17春在线作业2
东师在线作业为随机作业,请联系QQ515224986代做

一、单选题:
1.下面的类型声明中正确的是(    )。          (满分:3)
    A. int &a;
    B. int &*p;
    C. int & &q;
    D. int I,*pp=&I;
2.如果类B在类A的基础上构造,那么,就称(    )。          (满分:3)
    A. 类A为基类或父类,类B为超类或子类
    B. 类A为基类、父类或超类,类B为派生类或子类
    C. 类A为派生类,类B为基类
    D. 类A为派生类或子类,类B为基类、父类或超类
3.如果在类A中用成员函数的方式重载了前缀自增运算符++,又定义了类A的一个对象a,则以下用法正确的是(    )。          (满分:3)
    A. operator++(a);
    B. a.operator++(    );
    C. a.operator++(0);
    D. a++;
4.定义类模板时要使用关键字(    )。          (满分:3)
    A. const
    B. new
    C. delete
    D. template
5.设有函数模板templateQ Sum(Q x,Q y){      return(x)+(y);}则下列语句中对该函数模板错误的使用是(    )。          (满分:3)
    A. Sum(10,2);
    B. Sum(5.0,6.7);
    C. Sum(15.2f,16.0f);
    D. Sum(″AB″,″CD″);
6.编译时的多态性通过使用(    ) 实现。          (满分:3)
    A. 构造函数
    B. 虚函数
    C. 重载函数
    D. 析构函数
7.决定C++语言中函数的返回值类型的是(    )。          (满分:3)
    A. return语句中的表达式类型
    B. 调用该函数时系统随机产生的类型
    C. 调用该函数时的主调用函数类型
    D. 在定义该函数时所指定的数据类型
8.要使用动态联编,必须使用(    )调用虚函数。          (满分:3)
    A. 类名
    B. 对象名
    C. 派生类指针
    D. 基类指针
9.静态数据成员的初始化必须在(    )。          (满分:3)
    A. 类内
    B. 类外
    C. 构造函数内
    D. 静态成员函数内
10.在下面有关静态成员函数的描述中,正确的是(    )。          (满分:3)
    A. 在静态成员函数中可以使用this指针
    B. 在建立对象前,就可以为静态数据成员赋值
    C. 静态成员函数在类外定义时,要用static前缀
    D. 静态成员函数只能在类外定义
11.所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是(    )。          (满分:3)
    A. 类
    B. 对象
    C. 函数体
    D. 数据块
12.下列关于运算符重载的描述中,正确的是(    )。          (满分:3)
    A. 可以改变运算符的目数
    B. 可以改变运算符的优先级
    C. 可以改变运算符的结合性
    D. 可以改变运算符的功能
13.下列(    )可以是虚函数。          (满分:3)
    A. 构造函数
    B. 拷贝构造函数
    C. 静态成员函数
    D. 析构函数
14.通常拷贝构造函数的参数是(    )。          (满分:3)
    A. 某个对象名
    B. 某个对象的成员名
    C. 某个对象的引用名
    D. 某个对象的指针名
15.下列(    )的调用方式是引用调用。          (满分:3)
    A. 形参是引用,实参是变量
    B. 形参和实参都是变量
    C. 形参是变量,实参是地址值
    D. 形参是指针,实参是地址值
16.C++语言建立类库是通过(    )实现的。          (满分:3)
    A. 类的嵌套
    B. 类的继承
    C. 虚函数
    D. 抽象类
17.下面程序的运行结果为(    )。#includeclass A{public:A(    ){cout<<”1”;}~A(    ){cout<<”2”;}}class B:public A{public:B(    ){cout<<”3”;}~B(    ){cout<<”4”;}}void main(    ){B b;}          (满分:3)
    A. 1234
    B. 1324
    C. 1342
    D. 3142
18.如果在类A中用友元函数的方式重载了后缀自增运算符++,又定义了类A的一个对象a,则以下用法正确的是(    )。          (满分:3)
    A. operator++(a,0);
    B. a.operator++(    );
    C. a.operator++(0);
    D. ++a;
19.如果表达式y*x++中,“*”是作为成员函数重载的运算符,“++”是作为友元函数重载的运算符,则采用运算符函数调用格式,该表达式还可以表示为(    )。          (满分:3)
    A. x.operator++(0).operator*(y)
    B. operator*(x.operator++(0),y)
    C. operator*(operator++(x,0),y)
    D. y.operator*(operator++(x,0))
20.下面对类的析构函数的定义是(    ) 。          (满分:3)
    A. X::~ X( 参数 );
    B. void X::~ X( 参数 );
    C. void X::~ X(    );
    D. X::~ X(    );
三、判断题:
1.如果一个类至少有一个纯虚函数,那么该类就被称为抽象类。          (满分:2)
    A. 错误
    B. 正确
2.编译时的多态是通过静态联编来实现的,运行时的多态是通过动态联编实现的。          (满分:2)
    A. 错误
    B. 正确
3.类成员是按照它们在成员初始化表中列出的顺序进行初始化的,与它们在类里被声明的顺序无关。          (满分:2)
    A. 错误
    B. 正确
4.cout是I/O流库中预定义的输出流对象,cin是输入流对象。          (满分:2)
    A. 错误
    B. 正确
5.析构函数是不能被派生类继承的。          (满分:2)
    A. 错误
    B. 正确
6.数组中的每个元素它们的类型可以是不同的。          (满分:2)
    A. 错误
    B. 正确
7.类是一组对象的抽象,而对象则是类的一个实例。          (满分:2)
    A. 错误
    B. 正确
8.成员函数体可以写在类的内部也可以写在类的外部。          (满分:2)
    A. 错误
    B. 正确
9.无论什么方式的继承,基类的私有成员都不能被派生类访问。          (满分:2)
    A. 错误
    B. 正确
10.在删除一个动态对象时,将自动调用该动态对象所属类的析构函数。          (满分:2)
    A. 错误
    B. 正确
11.C++流类库是用继承方法建立起来的,它具有两个平行的基类,即istream类和ostream类,所有其他的流类都是从它们直接或间接地派生出来的。          (满分:2)
    A. 错误
    B. 正确
12.若有声明:class B:virtual public A{};则类B为类A的虚基类。          (满分:2)
    A. 错误
    B. 正确
13.不能在类声明中给数据成员赋初值。          (满分:2)
    A. 错误
    B. 正确
14.C++中,对象保存在内存中,栈内存是自动分配和释放的,而堆内存需要用户自己申请和释放。          (满分:2)
    A. 错误
    B. 正确
15.this指针是一个const指针,不能在程序中修改它或给它赋值。          (满分:2)
    A. 错误
    B. 正确
16.C++不允许定义有默认参数的函数。          (满分:2)
    A. 错误
    B. 正确
17.只要一个类定义了一个构造函数(不一定是无参构造函数),系统将不再给它提供缺省的构造函数。          (满分:2)
    A. 错误
    B. 正确
18.ifstream是用于读文件的文件流。          (满分:2)
    A. 错误
    B. 正确
19.函数模板是基于不同的数据类型完成类似的操作,而重载函数则是对不同的数据类型完成相同的操作。          (满分:2)
    A. 错误
    B. 正确
20.构造函数和析构函数都不能说明返回值类型,甚至说明为void类型也不行。          (满分:2)
    A. 错误
    B. 正确
本内容由www.openhelp100.com整理发布

页: [1]
查看完整版本: 东师《C++程序设计》17春在线作业2答案资料