因为你的类当中有很多成员,编译器并不知道你要相加哪些东西。而且字符串是不可以相加的。例如:class Class{int student_count; // 学生数量char *class_name; // 班级名称}两个班级 相加 合班, 只有学生数量会相加,名称不会改变
定义要这么定义,使用的时候,完全可以写 a+b,无须写a.operator+(b)如果a是指针,倒是可以用a->operator+(b)