在c++中关于private的有关问题

在c++中关于private的问题
大家好,我现在发现一个问题比如:

class Time
{
public:
Time(int,int);
~Time(void);
Time operator + (Time &T);
int GetHour();
int GetMinite();
private:
int hour;
int minite;
};

我在外部肯定不能直接Time对象.hour(废话)但是 我发现在.cpp里却能,不知道这个为什么

Time Time::operator + (Time &T)
{
Time a(0,0);
a.hour  = hour + T.hour;     //在这里调用没有任何问题,求解为什么?都是具体的对象了,怎么还能用private?
a.minite = minite + T.minite;
a.hour += a.minite/60;
a.minite = a.minite %60;
return a;
}


谢谢大家!

------解决方案--------------------
timer 的成员函数当然能!
另外, C++ 的 public/private 只是针对类型的, 不是针对对象的. 
程序运行的时候早把 public/private 这些忘光了.
------解决方案--------------------
因为作用域在Time::
------解决方案--------------------
Time Time::operator + (Time &T)