读书人

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

发布时间: 2013-07-01 12:33:04 作者: rapoo

在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)

读书人网 >C++

热点推荐