codecamp

C++ 更复杂的例子

尽管函数转换成成员函数的过程是机械式的,但还是有一些古怪的地方。例如,after函数对两个Time对象进行操作,而不仅仅是一个,我们不能使它俩都成为隐式的。而需要在其中一个对象上调用这个函数,并把另一个对象作为参数传递给它。

在函数中,我们隐式地引用其中一个对象,而继续使用点符号来访问另一对象的实例变量。

bool Time::after (const Time& time2) const{
    if(hour > time2.hour) return true;
    if(hour < time2.hour) return false;

    f(minute > time2.minute) return true;
    if(minute < time2.minute) return false;

    if(second > time2.second) return true;
    return false;
} 

调用此函数:

if (doneTime.after (currentTime)) {
     cout << "The bread will be done after it starts." <<endl;   
}

调用过程可以这么理解: “如果done-time在current-time之后,那么...”

C++ 再一个例子
C++ 构造函数
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }