当前位置:文档之家› C++程序设计17春在线作业2

C++程序设计17春在线作业2

C++程序设计17春在线作业2
试卷总分:100 得分:0
一、 单选题 (共 20 道试题,共 60 分)
1. C++语言建立类库是通过()实现的。
A. 类的嵌套
B. 类的继承
C. 虚函数
D. 抽象类
满分:3 分


2. 静态数据成员的初始化必须在()。
A. 类内
B. 类外
C. 在构造函数内
D. 静态成员函数内
满分:3 分


3. 在声明类时,下面的说法正确的是()。
A. 可以在类的声明中给数据成员赋初值
B. 数据成员的数据类型可以是register
C. private、public、protected可以按任意顺序出现
D. 没有用private、public、protected定义的数据成员是公有成员
满分:3 分


4. 关于成员函数特征的下述描述中,()是错误的。
A. 成员函数一定是内联函数
B. 成员函数可以重载
C. 成员函数可以设置参数的缺省值
D. 成员函数可以是静态的
满分:3 分


18. 下列语句中错误的是()。
A. int *p=new int (10);
B. int *p=new int[10];
C. int *p=new int;
D. int *p=new int[40](0);
满分:3 分


6. 关于void指针,下列说法正确的是()。
A. void指针就是已定义而未初始化的指针
B. void指针就是未指向任何数据的指针
C. void指针值可以直接赋给一个非void指针
D. 指向任何类型数据的指针可直接赋值给一个void指针
满分:3 分


7. 在C++中,编写一个内联函数Fun,使用int类型的参数,求其平方并返回,返回值也为int类型,下列定义正确的是()。
A. int Fun(int x){return x*x;}
B. inline int Fun(int x){return x*x;}
C. int inline Fun(int x){return x*x;}
D. int Fun(int x){inline return x*x;}
满分:3 分


8. 对于一个类,可以利用关键字()将一般函数、其他类的成员函数声明为该类的友元。
A. public
B. private
C. protected
D. friend
满分:3 分


9. 编译时的多态性通过使用() 实现。
A. 构造函数
B. 虚函数
C. 重载函数
D. 析构函数
满分:3 分


10. 在函数声明中,()是不必要的。
A. 函数名
B. 函数类型
C. 参数的名称
D. 参数类型
满分:3 分


11. 假定classA为一个类,则执行“classA x(5);”语句时将自动调用该类的()。
A. 无参构造函数
B. 带参构造函数
C. 复制构造函数
D. 赋值重载函数
满分:3 分


4. 假定classA为一个类,f()为该类公有的数据成员,x为该类的一个对象,则访问x对象中成员函数f()的格式为()。
A. x.f
B. x.f()
C. x->f
D. x->f()
满分:3 分


3. C++中引入友元的作用是()。
A. 提高程序的运用效率
B. 加强类的封装性
C. 实现数据的隐藏性
D. 增加成员函数的种类
满分:3 分


14. read()函数的功能是从输入流中读取()。
A. 一个字符
B. 当前字符
C. 一行字符
D. 指定若干个字


满分:3 分


15. 在下面有关对构造函数的描述中,正确的是()。
A. 构造函数可以带有返回值
B. 构造函数的名字与类名完全相同
C. 构造函数必须带有参数
D. 构造函数必须定义,不能缺省
满分:3 分


6. 在派生类中重新定义虚函数时,除了(),其它方面都必须与基类中相应的虚函数保持一致。
A. 参数个数
B. 参数类型
C. 函数体
D. 函数名称
满分:3 分


17. 下列关于虚基类的描述,错误的是()。
A. 设置虚基类的目的是为了消除二义性
B. 虚基类的构造函数在非虚基类之后调用
C. 若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用
D. 若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数
满分:3 分


18. 在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是()。
A. 派生类的对象可以赋给基类的对象
B. 派生类的对象可以初始化基类的引用
C. 指向派生类对象的基类指针可以直接访问派生类中的成员
D. 派生类的对象的地址可以赋给指向基类的指针
满分:3 分


17. 下面运算符中,不能被重载的运算符是()。
A. <=
B. -
C. ?:
D. []
满分:3 分


20. 类MyA的拷贝初始化构造函数是()。
A. MyA()
B. MyA(MyA*)
C. MyA(MyA&)
D. MyA(MyA)
满分:3 分


二、 判断题 (共 20 道试题,共 40 分)
1. 对于类中内嵌的对象、常量、引用等数据成员需要在构造函数的初始化列表中初始化。
A. 错误
B. 正确
满分:2 分


2. C++的变量声明非常灵活,它允许变量声明与可执行语句在程序中交替出现。
A. 错误
B. 正确
满分:2 分


3. 多态性是指相同的对象收到不同的消息时产生多种不同的行为方式。
A. 错误
B. 正确
满分:2 分


4. 在C++中,用数组、指针、和引用作为函数参数,都能够将参数值带回。
A. 错误
B. 正确
满分:2 分


5. ostrstream是向字符数组的输出流,istrstream是从字符数组的输入流。
A. 错误
B. 正确
满分:2 分


6. 说明或定义对象时,类名前不需加class关键字。
A. 错误
B. 正确
满分:2 分


7. 若左操作数为基本数据类型或其它类对象时,此运算符应以友元函数的方式重载。
A. 错误
B. 正确
满分:2 分


8. C++既支持面向过程程序设计又支持面向对象程序设计。
A. 错误
B. 正确
满分:2 分


15. 类是一组对象的抽象,而对象则是类的一个实例。
A. 错误
B. 正确
满分:2 分


12. 使用setw()函数时需包含iomanip.h头文件,而使用width()函数时需包含iostream.h头文

件。
A. 错误
B. 正确
满分:2 分


11. 在C++中,只能重载已有的运算符。
A. 错误
B. 正确
满分:2 分


12. C++利用类的派生机制实现面向对象程序设计的继承性。
A. 错误
B. 正确
满分:2 分


13. new和delete运算符可以被重载。
A. 错误
B. 正确
满分:2 分


14. 静态数据成员是类中所有对象共享的,可以通过类的对象访问。
A. 错误
B. 正确
满分:2 分


15. 多态性是指不同的对象收到相同的消息时产生多种不同的行为方式。
A. 错误
B. 正确
满分:2 分


16. 只有类中全部函数都为纯虚函数时,该类才被称为抽象类。
A. 错误
B. 正确
满分:2 分


17. 若将函数说明为返回一个引用,则该函数可以用在赋值运算符的左边。
A. 错误
B. 正确
满分:2 分


2. 函数模板是模板函数的实例化。
A. 错误
B. 正确
满分:2 分


19. this指针是一个const指针,不能在程序中修改它或给它赋值。
A. 错误
B. 正确
满分:2 分


20. 拷贝构造函数使用本类对象的指针作为参数初始化新创建的对象。
A. 错误
B. 正确
满分:2 分


相关主题
文本预览
相关文档 最新文档