首页 > 试题广场 >

下面对于友元函数描述正确的是()

[单选题]
下面对于友元函数描述正确的是()
  • 友元函数的实现必须在类的内部定义
  • 友元函数是类的成员函数
  • 友元函数破坏了类的封装性和隐藏性
  • 友元函数不能访问类的私有成员
友元“破坏”封装性,是为了在特定场景下兼顾“灵活性”——有些场景下,严格的封装会让代码变得繁琐,友元是一种“有控制的妥协”。 常见的合理使用场景有这些: 1. 重载运算符:比如重载 << (输出流)时, cout << 对象 的写法需要访问对象的私有成员,用友元会更简洁(否则得写复杂的成员函数)。 2. 协作类的交互:两个关系紧密的类(比如“汽车”和“发动机”),让其中一个类的函数作为友元,可以简化数据交互,同时避免写大量getter/setter。 3. 全局函数访问类成员:某些全局工具函数需要操作类的内部数据,用友元比暴露所有成员更可控(至少是“主动授权”,而非完全开放)。 简单说:友元是“在封装性和灵活性之间找平衡”——只在必要时用,避免滥用,就能既解决问题,又尽量减少对封装的破坏。
发表于 2025-11-16 09:05:03 回复(0)