首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2013-07-01 
在c++中关于private的问题大家好,我现在发现一个问题比如:class Time{public:Time(int,int)~Time(void)T

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

热点排行