您好,登錄后才能下訂單哦!
C++中怎么實現隱式轉換,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
C++隱式轉換發生在四種情況下
* 在混合類型的算術表達式中
int ival = 3; double dval = 3.1415 ival + dval; //ival 被提升為double 類型:3.0
* 用一種類型的表達式賦值
int *pi = NULL; // NULL(0)被轉換成了int* 類型的空指針值
* 用一個表達式傳遞給一個函數調用
extern double sqrt(double); sqrt(2); //2被提升為double類型: 2.0
* 從一個函數返回一個表達式
double difference(int ival1, int ival2) { return ival1 - ival2; //返回值被提升為double 類型. }
C++內建類型(char,int,short,double etc.)對像之間默認含有隱式轉換
C++用戶定義類對象之間可以含有C++隱式轉換.
void dosomething(A aObject); class A { public: A(int x = 0); } dosomething(20); // Ok 隱式轉換
看完上述內容,你們掌握C++中怎么實現隱式轉換的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。