为什么临时对象可以直接访问到私有成员?
代码如下:
头文件:
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 ?