c++类和对象之友元

2026-07-13108 次浏览0 条评论C/C++ 学习

c++的类和对象真TM绕,堪比我学c语言时的链表,里面还有各种看起来不知所云的超多繁琐语法,简直是折磨。总之,我看完教程之后想复刻里面的代码,但也是直接栽了。

最开始的代码(6报错1警告):

改正后的代码:

类与对象·友元(C++) CPP 在服务器沙箱里跑上面那份代码:无网络 · 限时 12 秒 · 只跑登记过的代码
预设输入(stdin)
输出
点「▶ 运行」看结果;想边跑边输就点「⌨ 交互运行」

1 //类1的声明
2 //类2(内含类1做为子类)的声明与定义//类2的构造函数的声明//类2中需要做为友元的成员函数的声明
3 //类1的定义//类2中成员函数做为友元//类1的构造函数的声明
4 //类1的构造函数的实现
5 //类2的构造函数的实现
6 //类2中需要做为友元的成员函数的实现

这里类2内部嵌入了类1做为成员,因此类1要声明在类2前面。

又由于这个原因,类2的构造函数里面要有类1的实例化,所以类2的构造函数放在类1的构造函数后面实现。

又因为类2中的成员函数需要访问类1中的private区的属性,需要做为友元,因此这个成员函数的声明要放在类1的定义前面友元声明的后面。

语法层层相扣,快给我看力竭了才看懂,不知道有没有其他方案。

0 条评论

发表评论

🔑