函式呼叫運算子

2021-09-06 17:47:30 字數 1490 閱讀 6986

14.34定義乙個函式物件類,令其執行if-then-else的操作;該型別的呼叫運算子接受三個引數,它首先檢查第乙個形參,如果成功返回第二個引數的值;如果不成功返回第三個形參的值。

#includeusing

namespace

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...