友元函数允许外部函数访问类私有或受保护成员,用于类间协作,提高代码灵活性,封装实现细节。缺点是破坏封装性,增加耦合,存在安全性问题。实战案例:counter 类使用友元函数 stats 来访问其受保护的 increment() 方法,从而进行协作。

友元函数是一种允许外部函数访问类中私有或受保护成员的特殊函数。它们通常用于支持类与其他类或函数之间的协作。
让我们以一个简单的 Counter 类为例,它用于计数对象:
class Counter {
private:
int count;
protected:
void increment() { count++; }
};为了让另一个类 Stats 访问 Counter 的受保护成员 increment(),我们可以将它声明为 Counter 类的友元函数:
class Stats {
public:
void analyze(Counter& counter) {
// Friend function can access protected method
counter.increment();
}
};在主函数中,我们可以看到友元函数如何协作:
int main() {
Counter counter;
Stats stats;
stats.analyze(counter); // 友元函数被调用
return 0;
}以上就是使用友元函数的优缺点有哪些?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号