C++定义隐式转换函数,将类转换为内部的一个成员变量
生活随笔
收集整理的這篇文章主要介紹了
C++定义隐式转换函数,将类转换为内部的一个成员变量
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C++中單參數構造函數若不聲明為explict,在合適的場合可以產生隱式轉換:由成員變量類型轉換為類類型。
下面的代碼展示如何實現反向的轉換:?
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 void changeFontSize(FontHandle f, int newsize); class Font{ public:operator FontHandle() const //隱式轉換函數{return f;} private:FontHandle f; };Font f; int newsize; changeFontSize(f, newsize); //將Font隱式轉換成FontHandle
另外,兩個或更多參數的non-explicit構造函數,如果所有形參都提供了默認實參,那么在需要一個類類型對象的表達式位置,提供一個first形參類型的對象,編譯器也執行隱式轉換,轉換得到一個類對象。
總結
以上是生活随笔為你收集整理的C++定义隐式转换函数,将类转换为内部的一个成员变量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Chrome浏览器插件之---AdBlo
- 下一篇: s3c2440移植MQTT