为什么临时对象可以直接访问到私有成员?
代码如下:
头文件:
class Coordinate { // 利用友元函数进行+号重载 friend Coordinate operator+(const Coordinate c1,const Coordinate c2); public: // 构造函数,带初始化参数 Coordinate(int x,int y); int getX(); int getY(); private: // 私有属性 int m_iX; int m_iY; };
cpp文件:
#include "Coordinate.h" Coordinate operator+(Coordinate c1,Coordinate c2){ Coordinate temp(0,0); temp.m_iX = c1.getX() + c2.getX(); temp.m_iY = c1.getY() + c2.getY(); return temp; }
为何这里可以直接使用 temp.m_iX ?