14.34定義乙個函式物件類,令其執行if-then-else的操作;該型別的呼叫運算子接受三個引數,它首先檢查第乙個形參,如果成功返回第二個引數的值;如果不成功返回第三個形參的值。
#includeusingnamespace
std;
class
if_then_else
};int
main()
14.35 編寫printstring的類,令其從istream中讀取一行輸入,然後返回乙個表示我們所讀內容的string。如果讀取失敗,返回空string。
#include#include#include
using
namespace
std;
class
printstring
void
operator()(const
string &s)
private
: ostream &os;
char
sep;
};int
main()
14.36 使用上面定義的類讀取標準輸入,將每一行儲存在vector的乙個元素。
#include#include#include
using
namespace
std;
class
printstring
void
operator()(const
string &s)
istream& operator()(string &s)
private
: ostream &os;
istream &is
;
char
sep;
};int
main()
14.37編寫乙個類令其檢查兩個值是否相等。使用該物件及標準庫演算法編寫程式,令其替換某個序列中具有給定值的所有例項。
#include#include#include
#include
using
namespace
std;
class
replaces
void
operator()(string &s)
private
:
string
oldval;
string
newval;
};int
main()
; for_each(vec.begin(),vec.end(),replaces());
for(auto v:vec)
cout
<"";
cout
}
函式呼叫運算子
struct absint 這個類定義了操作 函式呼叫運算子,它負責接受乙個int型別的實參,然後返回該實參的絕對值。呼叫 int i 42 absint absobj 含有函式運算子的物件 int ui absobj i 將i傳遞給absobj.operator class printstring...
C 函式可呼叫運算子
一 什麼是可呼叫函式 func 這就是乙個可呼叫函式,某類過載了operator 這個類物件也稱為可呼叫函式 可呼叫物件 他們的明顯標誌是帶有圓括號。class a 過載 後可以向呼叫函式一樣呼叫類物件 int operator int var 過載 兩引數版本 int operator int x...
(運算子) 運算子
運算子既可作為一元運算子也可作為二元運算子。備註 unsafe context data guid 00bf87717d88a9fac1afadb796c675da 一元 運算子返回運算元的位址 要求 unsafe 上下文 bool data guid 9efd189df2cfb88799dca08...