Tôi có giao diện lớp sau:Công việc xếp tầng "này" hoạt động như thế nào?
class Time
{
public:
Time(int = 0, int = 0, int = 0);
Time &setHour(int);
Time &setMinute(int);
Time &setSecond(int);
private:
int hour;
int minute;
int second;
};
Việc thực hiện là ở đây:
Time &Time::setHour(int h)
{
hour = (h >= 0 && h < 24) ? h : 0;
return *this;
}
Time &Time::setMinute(int m)
{
minute = (m >= 0 && m < 60) ? m : 0;
return *this;
}
Time &Time::setSecond(int s)
{
second = (s >= 0 && s < 60) ? s : 0;
return *this;
}
Trong tập tin cpp chính tôi, tôi có mã này:
int main()
{
Time t;
t.setHour(18).setMinute(30).setSecond(22);
return 0;
}
Làm thế nào là nó có thể kết nối các cuộc gọi chức năng này với nhau? Tôi không hiểu tại sao điều này lại hiệu quả.
oh tôi hiểu rồi ... 't.setHour (18)' sẽ bỏ '(* this)' sẽ được sử dụng để tham chiếu hàm kế tiếp ... – teacher
@teacher: Chính xác. – Goz