c++++ 友元函数应用:运算符重载非成员函数访问私有数据跨多个类的交互打破封装性(有意识允许)优势:更灵活,提高重用性更高效,代码更简洁组织更好,易读易写更好的封装性,非成员函数不会直接修改类

C++ 友元函数的应用场景和优势
概述
友元函数是 C++ 中特殊函数,它可以访问和修改类或结构的私有成员,即使该函数不是该类或结构的成员函数。友元函数在某些场景中非常有用。
立即学习“C++免费学习笔记(深入)”;
应用场景
以下是一些友元函数的常见应用场景:
优势
使用友元函数具有以下优势:
实战案例:输出日期
考虑我们想要创建一个 Date 类来表示日期,并希望重载 cout 运算符来直接输出日期。以下是使用友元函数实现该操作的示例代码:
// Date 类
class Date {
private:
int day, month, year;
public:
Date(int d, int m, int y) : day(d), month(m), year(y) {}
};
// 友元函数重载 cout 运算符
friend ostream& operator<<(ostream& os, const Date& date) {
os << date.day << "-" << date.month << "-" << date.year;
return os;
}
int main() {
Date date(10, 11, 2022);
cout << date << endl; // 输出 10-11-2022
}在这个例子中,operator<< 友元函数允许我们使用 << 运算符直接输出 Date 对象,实现了定制化的日期输出功能。
以上就是C++ 友元函数的应用场景和优势有哪些的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号