1 呼叫運算子
當用點運算子訪問一個成員函式時,我們是想呼叫該函式,我們使用呼叫運算子( () )來呼叫一個函式,呼叫運算子是一對圓括號,里面放置實參串列(可能為空),
item1.isbn()
2 可呼叫物件
對于一個物件或一個運算式,如果可以對其使用呼叫運算子,則稱它為可呼叫物件,可呼叫物件包含函式、函式指標、多載了函式呼叫符的類以及Lambda運算式四種,
2.1 函式
// 計算val的階乘 int fact(int val) { int ret = 1; while(val > 1) ret *= val--; return ret; }
2.2 函式指標
// 函式:比較兩個string物件的長度 bool lengthCompare(const string &, const string &); // pf指向一個函式,該函式的引數是兩個const string的參考,回傳值是bool型別 bool (*pf) (const string &, const string &); // 未初始化 // 賦值 pf = lengthCompare;
2.3 多載了函式呼叫運算子的類
// struct含有一個呼叫運算子,該運算子負責回傳其引數的絕對值 struct absInt() { int op呼叫運算子與可呼叫物件erator() (int val) const { return val < 0 ? -val : val; } }
2.4 Lambda運算式
[] (const string &a, const string &b) { return a.size() < b.size(); }
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/279189.html
標籤:其他
上一篇:day-15-初識自定義模塊
