c++中類型的隱式轉換。

在滿足下條件時,編譯器纔會使用隱式轉換:

1,存在匹配的構造函數。

如:class A {

public:

A(B);


};

//

A  a=B;


2,存在聲明的轉換操作符:

class B {

public:


operator A() const;

};

//

A  a=B;

備註:隱式轉換有時可能造成二義性。爲了阻止編譯器使用隱式轉換,可以將構造函數用explicit修飾。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章