c++的类和对象真TM绕,堪比我学c语言时的链表,里面还有各种看起来不知所云的超多繁琐语法,简直是折磨。总之,我看完教程之后想复刻里面的代码,但也是直接栽了。
最开始的代码(6报错1警告):
改正后的代码:
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的定义前面友元声明的后面。
语法层层相扣,快给我看力竭了才看懂,不知道有没有其他方案。
