首页
编程
java
php
前端
首页
编程
java
php
前端
为什么赋值运算符不能写成友元函数,只能写成成员函数呢?
当一个类没有默认构造函数(default constructor)、析构函数、拷贝构造函数、赋值操作符函数,(这些函数都属于成员函数)编译器会自动声明一个
友元函数不算成员函数,只是可以访问类里的成员
结合上面两点,当你通过友元函数重载了一个赋值函数,编译器会发生冲突(不知道调用哪一个函数),所以会报错
小建议(不重要,可忽略):运算符重载考虑到可以连续赋值情况,一般返回值推荐返回这个类的引用
点击展开全文