C++多繼承的二義性

  多承繼能夠看做是單承繼的擴展。   多承繼下派生類的定義格式以下:  …  …  …  其中, 派生類C具備兩個基類(類A和類B), 所以, 類C是多承繼的。 依照承繼的規則, 派生類C的成員包含了基類A, 派生類的構造函數格式以下:  其中, <總參數表>中各個參數包含了其後的各個分參數表。 它必需同時負責該派生類一切基類構造函數的調用。 同時,   派生類構造函數執行順序是先執行所屬基類的構造函數, 處於同一層次的各基類構造函數的執行順序取決於定義派生類時所指定的各基類順序, 與派生類構造函數中所定義的成員初始化列表的各項順序有關。 執行基類構造函數的順序取決於定義派生類時基類的順序。 可見, 派生類構造函數的成員初始化列表中各項順序能夠任意地排列。   下面通過一個例子來講明派生類構造函數的構成及其執行順序。   該程序的輸入結果爲:  在該程序中, 在派生類A中的print()函數的定義中, 運用了B1::print;和B2::print();語句辨別指明調用哪個類中的print()函數,ide

相關文章
相關標籤/搜索