🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
我们来把increment函数转换为成员函数。我们再次将其中一个参数变成this。然后检查整个函数并使所有变量被隐式访问。 ~~~ void Time::increment (double secs) { second += secs; while (second >= 60.0) { second -= 60.0; minute += 1; } while (minute >= 60.0) { minute -= 60.0; hour += 1; } } ~~~ 顺便说一句,请记住这并非是该函数的最高效实现。如果你在第九章没有这么做,那你现在应该写一个更有效率的版本。 我们可以复制第一行到结构体定义中来声明这一函数。 ~~~ struct Time { int hour, minute; double second; void Time::print(); void Time::increment(double secs); }; ~~~ 为了调用(call)这函数,我们再次需要通过Time对象调用(invoke)它: ~~~ Time currentTime = { 9, 14, 30.0}; currentTime.increment (500.0); currentTime.print (); ~~~ 程序输出9:22:50。