首先你这个A类型里面就一个int类型值。要重载加法,那么几种可能:A类型+int、int类型+A类型、A类型+A类型。分别对应 A operator+(const int b); friend A operator+(const int b, A obj); A operator+(const A & obj); 原因就是类里重载操作符默认第一个操作数是this,所以对于int+A这样的加法,无法用重载操作符完成,那么只能在类外定义,但类外定义的函数还必须访问A类型内部的私有变量a的值,所以使用友元函数。
点赞 评论
牛客网
牛客网在线编程
牛客网题解
牛客企业服务