一、学习的知识点
回顾
访问权限:
- public:自己的成员函数可以访问,类外也可以访问,友元函数友元类也可以访问
- private:只能被类的成员函数访问,友元函数友元类也可以访问
- protected:自己的成员函数可以访问,基类的受保护数据可以被派生类访问,友元函数友元类也可以访问
友元
友元函数
- 友元函数不属于类,可以访问类的所有成员
- 声明格式:friend 返回值 函数名();
- 友元函数不受访问方式控制符的影响
- 类的友元函数声明在类内,实现在类外;就是一个普通函数
- 应用:菜谱链表的打印
- 类的成员函数也可以作为另外一个类的友元函数
友元类
- 一个类要频繁访问另一个类的成员,可以把这个类作为另一个类的友元类
- 格式:friend class CStaff;
- 窗口基类要频繁访问控件基类,可以把窗口基类作为控件基类的友元类
- friend class CwindowBase;
运算符重载
- 不能重载的运算符:域运算符、条件、。、类成员指针引用的运算符、sizeof
- 类的成员函数做一元运算符重载,不用参数,因为含有this指针指向本身
- 赋值运算符的重载只能在类的成员函数重载,带一个参数
- 格式:返回值类型 operator重载运算符(参数);
CComplex operator+(CComplex &b);
二、上课没有听懂或者没有理解的地方
无
三、当天学习的收获
在类中添加友元函数,这个友元函数可以访问类的所有数据成员
四、作业的思路、不会的地方
无
五、其他需要反馈的问题
无
六、心得体会
对所学的还不擅应用
本文深入探讨了C++中友元的概念,包括友元函数和友元类,以及如何通过它们访问类的私有和保护成员。同时,详细解析了运算符重载的规则和限制,例如不能重载的运算符类型,以及如何在类的成员函数中进行一元和赋值运算符的重载。
1609

被折叠的 条评论
为什么被折叠?



