🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
最后一个例子是addTime: ~~~ Time addTime2 (const Time& t1, const Time& t2) { double seconds = convertToSeconds (t1) + convertToSeconds (t2); return makeTime (seconds); } ~~~ 我们要对该函数做一些改变,包括: 1. 把函数名addTime改成Time::add。 2. 把第一个参数替换成隐式参数,并将它声明为const。 3. 把原来的makeTime改成构造函数调用。 结果如下: ~~~ Time Time::add (const Time& t2) const { double seconds = convertToSeconds () + t2.convertToSeconds (); Time time(second); return time; } ~~~ 第一次调用convertToSeonds时,没有显式的对象!在一个成员函数中,编译器假设我们要在当前对象上调用函数。因此,第一次是在this上调用,第二次是在t2上调用。 函数接下来一行调用了构造函数,把单个double值作为参数。最后一行返回结果对象。