知識點一:
default構造函數:default構造函數是一個可被調用而不帶任何實參的構造函數。這樣的構造函數要不沒有參數,要不就是每個參數都有預設值。
例:
class A
{
public:
A(){}; //default構造函數
}
class B
{
public:
B(int x = 0,bool y = true); //default構造函數
}
知識點二
explicit關鍵字:防止進行隐式類型轉換,但仍可以顯示類型轉換。
void doSomething(B b); //接收一個類型為B的對象
B b1; //一個類型為b的對象
B b1(28);//正确,根據int 28建立一個對象
doSomething(28);//錯誤,doSomething應該接收一個B,而int和B之間沒有進行隐式類型轉換
doSomething(B(28));//正确,顯示類型轉換