conversion function轉換函式(把物件轉換為乙個其他的型別)
格式 operator 型別() const
//沒有返回值沒有引數
non-explicit-one-argument ctor(把其他型別資料物件轉換為類物件)
explicit用在建構函式,不允許自動轉化,函式轉物件,物件轉類
one-argument 只要乙個實參
所以與其相對應的有
與上兩種相比對
如果兩種同時存在則編譯出錯(主要取決於使用者怎麼去用)
例如:
pointer-like classes智慧型指標(像乙個指標比普通指標做更多的事情)
pointer-like classes裡面一定會有個真正的指標
->有個特殊的行為,會作用下去得到的結果,這個符號會繼續作用下去
迭代器(智慧型指標 pointer-like )
function-like classes,仿函式(過載小括號)
任何乙個東西如果能夠接受小括號這個操作符,則稱像函式
格式:返回值 operator()(形參){}
namespace作用是把一些東西區別開來
模板,class, function,member
泛化就是模板
特化,面對某些獨特的型別要做特別的處理
模板模板引數
引用一定要有初值
this
動態分配跟new/delete有關
當成員函式的const(全域性函式不可以)non-const版本同時存在,const物件只會(能)
呼叫const版本,non-const物件只會(能)呼叫non-const版本
c 模板雜談
實驗環境 linux mint 下 qt 5.11 說白了,模板就是搭個函式,類的框架,具體實現的時候往裡面填充內容,或者我們可以把型別名想作乙個佔位符號 include include using namespace std template type returnmax type x,type ...
c 類模板(模板類)
人們需要編寫多個形式和功能都相似的函式,因此有了函式模板來減少重複勞動 人們也需要編寫多個形式和功能都相似的類,於是 c 引人了類模板的概念,編譯器從類模板可以自動生成多個類,避免了程式設計師的重複勞動。有了類模板的機制,只需要寫乙個可變長的陣列類模板,編譯器就會由該類模板自動生成整型 double...
C 模板類和類模板
用相同的類模板可以組建任何型別的物件集合。在傳統c 中,可能有乙個浮點數類或者乙個整數類,如果使用類模板,可以定義乙個對兩者都適用的類number。類模板說明 類模板說明的一般形式是 template 型別形參表 class 類名 template 型別形參表 返回型別 類名 型別名錶 成員函式1 ...