C 研發 泛型程式設計 第十二講 函式物件

2021-10-20 07:32:08 字數 717 閱讀 5552

函式物件就是我們說的仿函式。

過載函式操作符的類,其物件稱為函式物件。

函式物件使用過載的()時,行為類似函式呼叫。

本質:函式物件(仿函式)是乙個類建立出的物件,不是乙個函式,只是像函式。

函式物件在使用時,可以像普通函式那樣呼叫, 可以有引數,可以有返回值

函式物件超出普通函式的概念,函式物件可以有自己的狀態

函式物件可以作為引數傳遞

示例:

#include //1、函式物件在使用時,可以像普通函式那樣呼叫, 可以有引數,可以有返回值

class myadd

};void test01()

//2、函式物件可以有自己的狀態

class myprint

void operator()(string test)

int count; //內部自己的狀態

};void test02()

//3、函式物件可以作為引數傳遞

void doprint(myprint &mp , string test)

void test03()

int main()

總結:

仿函式寫法非常靈活,可以作為引數進行傳遞。

第十二章 泛型

源 保護 型別安全 更加清晰的 更佳的效能.減少裝箱和拆箱的操作 c 的標準模板庫的部分集合類 開放型別和封閉型別乙個泛型的所有型別實參傳遞的都是實際的資料型別,則成為封閉型別.具有泛型型別引數的型別成為開放型別,clr禁止構造開放型別的例項.類似禁止構造介面例項.如 var t typeof di...

第十二講 物件導向基礎 多型

多型可以理解為事物存在的多種體現形態。例如,貓這個物件對應的型別是貓型別 貓 x new 貓 同時貓也是動物中的一種,也可以把貓稱為動物 動物 x new 貓 動物是貓和狗等具體事物中抽取出來的父型別。多型在程式中的體現為父類的引用或者介面的引用指向了子類的物件。多型出現的前提是必須是類與類之間有關...

第十二章 泛型演算法 (上)

在使用標準庫當中的演算法時,記得要包含 include標頭檔案,在學習演算法的時候個人感覺主要了解到演算法實現的功能和他所需要的引數即可使用演算法了。下面主要介紹課本中提到的標準庫演算法 1.唯讀演算法 find和accumulate演算法 該演算法在 include標頭檔案中 accumulate...