發佈代碼的背景: PayRoll是類的名稱。 personSalary是一個雙類型變量,personAge是一個整型變量。給出的代碼是按年齡或薪水排列列表。無法解釋此C++代碼
struct less_than_salary
{
inline bool operator() (const PayRoll& struct1, const PayRoll& struct2)
{
return (struct1.personSalary < struct2.personSalary);
}
};
struct less_than_age
{
inline bool operator() (const PayRoll& struct1, const PayRoll& struct2)
{
return (struct1.personAge < struct2.personAge);
}
};
我想了解一下這部分給定代碼的一些幫助。我試着讀結構用於和據我所知,它基本上是作爲一個類來操作,並允許您一次處理多種類型的變量。如果我錯了,在這種情況下用到的結構究竟是什麼? 另外,如果有人解釋「inline bool operator()」在做什麼,我會很感激,因爲我之前從未見過這樣的內容,而且通過閱讀教科書我無法理解。 謝謝你的幫助!
嘗試google搜索 「函子」。 –
你的意思是你不懂操作符重載的概念嗎? 'operator()'允許類的一個實例對一個* function-call *操作符做出反應。 – jxh
是的,這是我的問題,我很難理解操作符重載。 – ss1111