4.2 例题分析
4.2.1 单项选择题
【例4.1】一个类的友元函数能够访问该类的 。
A. 私有成员 B. 保护成员
C. 公有成员 D. 所有成员
解:一个类的友元函数对类成员的访问能力等同于类的成员函数,即能访问类的所有成员。本题答案为D。
【例4.2】友元的作用是 。
A. 提高程序的运行效率 B. 加强类的封装性
C. 实现数据的隐藏性 D. 增加成员函数的种类
解:友元的作用之一是提高程序的运行效率,而牺牲了类的封装性和隐藏性。本题答案为A。
【例4.3】下列的各类函数中, 不是类的成员函数。
A. 构造函数 B. 析构函数
C. 友元函数 D. 拷贝初始化构造函数
解:构造函数和析构函数都是类的成员函数,但友元函数不是。本题答案为C。
【例4.4】下面关于友元的描述中,错误的是 。
A. 友元函数可以访问该类的私有数据成员
B. 一个类的友元类中的成员函数都是这个类的友元函数
C. 友元可以提高程序的运行效率
D. 类与类之间的友元关系可以继承
解:友元关系不能被继承,并且是单向的,不可交换的。本题答案为D。
【例4.5】如果类A被说明成类B的友元,则 。
A. 类A的成员即类B的成员
B. 类B的成员即类A的成员
C. 类A的成员函数不得访问类B的成员
D. 类B不一定是类A的友元
解:如果类A被说明成类B的友元,则说明类A是类B的友元类,可以访问类B的成员,类A的成员即类B的成员。本题答案为A。