习 题 二
一、填空题
1. 对运算符进行重载时,不能 改变结合性 ,不能 改变操作数个数 ,不能 改变优先级 。
2. 当++被重载为后置成员函数时需要 0 个参数。
3. 当++被重载为前置成员函数时需要 1 个参数。
4. 在C++中,运算符重载函数可以是 成员函数 ,也可以是 友元函数 ,还可以是 普通函数 。
5. 友元破坏了类的 封装性 特性。
6. 类的友元能够访问这个类的 所有 成员。
7. 类的静态数据成员的初始化是在析构函数的定义 类外 进行的。
8. 类的静态成员函数 没有 this指针。
9. 类的静态成员函数访问该类的非静态成员可以通过 参数传递对象 来实现。
10. 不能被重载的类成员函数是 构造和析构函数 。
二、选择题
1. 已知类A有一个带double型参数的构造函数,且将运算符“+”重载为该类友元函数,若如下语句:A x(2.5),y(3.6),z(0); z=x+y; 能够正常运行,运算符重载函数operator+ 应在类中声明为( D )。
A. friend A operator+ (double , double) ; B. friend A operator+ ( double , A &);
C. friend A operator+ ( A &, double); D. friend A operator+ ( A & , A &);
2. 下列关于运算符重载的描述中,正确的是( D )。
A. 运算符重载可以改变操作数的个数 B. 运算符重载可以改变优先级
C. 运算符重载可以改变结合性 D. 运算符重载不可以改变语法结构
3. 友元运算符表达式obj1>obj2被C++编译器解释为( A )。
A. operator>(obj1,obj2) B. >(obj1,obj2)
C. obj2.operator>(obj1) D. obj1.operator>(obj2)
4. 下列关于C++运算符函数的返回类型的描述中,错误的是( C )。
A. 可以是类类型 B. 可以是int类型
C. 可以是void类型 D. 可以是float类型
5. 为了区别单目运算符的前置和后置运算,在后置运算符进行重载时,额外添加一个参数,其类型是( D )。
A. void B. char C. float D. int
6. 以下运算符中,不能在C++中重载的是( A )。
A. ?: B. + C. - D. <=
7. 在一个类中可以对一个操作符进行( D )重载。
A. 1种 B. 2种以下 C. 3种以下 D. 多种
8. 若类A被说明成类B的友元,则( D )。
A. 类A的成员即类B的成员 B. 类B的成员即类A的成员
C. 类A的成员函数不能访问类B的成员 D. 类B不一定是类A的友元
9. 友元的作用是( A )。
A. 提高成员的运行效率 B. 加强类的封装性
C. 实现数据的隐藏性 D. 增加成员函数的种类
10. 下列关于静态数据成员的特性描述中错误的是( D )。
A. 说明静态数据成员时前边要加static B. 静态数据成员要在类体外进行初始化
C. 引用静态数据成员时,要在静态数据成员名前加“类名”和作用域运算符
D. 静态数据成员不是所有对象所共用的
11. 关于友元的描述中,正确的是( C )。
A. 友元函数是成员函数的一种,它可以访问类的私有成员
B. 友元函数不能提高程序的运行效率
C. 友元函数要在类体内说明
D. 友元函数增强了类的封装性和隐藏性
12. 用来说明类的友元的是( D )。
A. private B. protected C. public D. friend
13. 已知f1和f2是同一个类的两个成员函数,但f1不能调用f2,下列选项中符合要求的是( B )。
A. f1和f2都是静态函数 B. f1是静态函数,f2不是静态函数
C. f1不是静态函数,f2是静态函数 D. f1和f2都不是静态函数
14. 下面对于友元函数描述正确的是( C )。
A. 友元函数的实现必须在类的内部定义 B. 友元函数是类的成员函数
C. 友元函数破坏了类的封装性和隐藏性 D. 友元函数不能访问类的保护成员
15. 一个类的友元函数或友元类能够通过成员操作符访问该类的( D )
A. 私有成员 B. 保护成员 C. 公有成员 D. 所有成员
16. 下面对静态数据成员的描述中,正确的是( D )
A. 静态数据成员可以在类体内进行初始化 B. 静态数据成员不可以被类的对象调用
C. 静态数据成员不受private控制符的限制 D. 静态数据成员可以直接用类名调用
17. C++语言中提供的( B )不是类的成员,但具有类成员的特权。
A. 构造函数 B. 友元函数 C. 虚函数 D. 重载函数
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论