友元函数
2023-05-28 18:26:03 5 举报
AI智能生成
初识友元函数
作者其他创作
大纲/内容
类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员。
定义
友元函数不是类的成员,不能使用 this 指针
友元函数可以访问其友元类的所有成员,包括私有成员和受保护的成员。
友元函数不能被继承或重载,因为它不是类的成员。
由于友元函数不是类的成员,所以它可以有任何数量和任何类型的参数,而不仅仅是类的对象。
性质
这样之后可以直接cout一个类的实例
这是因为它们的左操作数必须是一个流对象,而普通的重载要求(默认)左操作数是一个类的对象
流插入运算符(<<)和流提取运算符(>>)
重载后可以将MyClass和一个int相加
某些二元运算符使得运算符的两个操作数可以是不同的类型
使用场景
破坏封装性
友元函数与它们的友元类紧密耦合
这意味着任何改变友元类的内部结构都可能需要修改友元函数
使得代码的维护和扩展变得更加困难
增加耦合
影响代码重用
缺点
友元函数
0 条评论
回复 删除
下一页