課程
/后端開發
/C++
/C++遠征之繼承篇
這里老師講:多個父類構造函數的調用順序與初始化列表里相同。
但我們的教材上做過實驗,調用順序應該與子類繼承多個父類時,在繼承方式表里的順序相同,就是在那個public那兒的順序相同
2016-05-15
源自:C++遠征之繼承篇 5-3
正在回答
class son:public f2,public f1//此處不就是初始化列表,也是繼承方式表嗎?
這肯定不是初始化列表啊,不過我覺得可以叫繼承方式表(雖然書上面沒有說),但是構造函數的調用順序與初始化列表的順序肯定無關,與繼承方式表的順序應保持一致。
應該是按造繼承順序
哥們,我剛剛又看了下視頻,James老師第一次說的初始化列表指的是派生類的構造函數那兒。
哦?我不清楚誒。。。。我們教材上就這個問題做個一個實驗。
#include <iostream>#include <stdlib.h>#include <string>using namespace std;class f1{public:??? f1(){??????? cout<<"父類1"<<endl;??????? }};class f2{public:??? f2(){??????? cout<<"父類2"<<endl;??????? }};class son:public f2,public f1//此處不就是初始化列表,也是繼承方式表嗎?
{public:??? son (){??????? cout<<"子類"<<endl;??? }};int main(void){??? son a;?? ?return 0;}測試結果就是
父類2
父類1
子類
舉報
繼承,C++面向對象三大特征之一,通過編碼實踐方式講解到操作層面
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-11-25
class son:public f2,public f1//此處不就是初始化列表,也是繼承方式表嗎?
這肯定不是初始化列表啊,不過我覺得可以叫繼承方式表(雖然書上面沒有說),但是構造函數的調用順序與初始化列表的順序肯定無關,與繼承方式表的順序應保持一致。
2017-02-13
應該是按造繼承順序
2016-05-15
哥們,我剛剛又看了下視頻,James老師第一次說的初始化列表指的是派生類的構造函數那兒。
2016-05-15
哦?我不清楚誒。。。。我們教材上就這個問題做個一個實驗。
2016-05-15
#include <iostream>
#include <stdlib.h>
#include <string>
using namespace std;
class f1
{
public:
??? f1(){
??????? cout<<"父類1"<<endl;
??????? }
};
class f2
{
public:
??? f2(){
??????? cout<<"父類2"<<endl;
??????? }
};
class son:public f2,public f1//此處不就是初始化列表,也是繼承方式表嗎?
{
public:
??? son (){
??????? cout<<"子類"<<endl;
??? }
};
int main(void)
{
??? son a;
?? ?return 0;
}
測試結果就是
父類2
父類1
子類