可以使用 派生類實例 來初始化基類實例,此時會用派生類中的基類部分來初始化基類實例,派生類
部分將被忽略。
注:上述操作僅僅在基類定義了 拷貝/賦值 構造的情況下可行,因爲這種初始化
實際上相當於調用了基類的 拷貝/賦值 構造。
class A{
public:
A()=default;
A(const A&);
A& operator=(const A&);
}
class B:public A{
public:
B()=default;
}
B b1;
A a1(b1); //編譯器會把 B 的引用 隱式轉換成 A的引用,派生類向基類的 指針/引用 轉換,
//相當於調用基類的拷貝構造
A a2 = b1; //相當於調用基類的賦值構造