算术运算符重载中,返回值为不带引用的类,参数有两个或两个以上的类的对象,并且类中存在private成员变量时,需要使用friend友元。因为不申明友元就不能访问类中private成员变量。
class Array
{
private:
int ArrayLength;
int* ArraySpace;
public:
Array(int len = 0);
Array(const Array& obj);
int& operator[] (int i);
friend Array operator+ (const Array& obj1, int obj2);
friend Array operator+ (const Array& obj1, const Array& obj2);
Array& operator= (const Array& obj);
~Array();
};