




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
《C++面向?qū)ο蟪绦蛟O(shè)計》第四章內(nèi)容4.1什么是運算符重載4.2運算符重載的方法4.3重載運算符的規(guī)則4.4運算符重載作為類成員函數(shù)和友元函數(shù)4.5重載雙目運算符4.6重載單目運算符4.7重載流插入運算符和流提取運算符4.8不同類型數(shù)據(jù)間的轉(zhuǎn)換2第5章繼承和派生本章內(nèi)容5.1繼承和派生的概念5.2派生類的聲明方法5.3派生類的構(gòu)成5.4派生類成員的訪問屬性5.5派生類的構(gòu)造函數(shù)和析構(gòu)函數(shù)5.6多重繼承5.7基類和派生類的轉(zhuǎn)換5.8繼承與組合4目標理解派生和繼承的相關(guān)概念;掌握派生類的聲明方式掌握派生類的構(gòu)成和成員的訪問屬性;掌握派生類構(gòu)造函數(shù)和析構(gòu)函數(shù)的使用方法;掌握多重繼承的方法;理解基類和派生類的轉(zhuǎn)換方法;理解繼承與組合的含義。55.1繼承與派生的概念繼承:繼承是類之間定義的一種重要關(guān)系。人學生老師大學生研究生碩士生博士生專科生本科生在職研究生65.1繼承與派生的概念B類繼承A類,或稱從類A派生出B類,則A類稱為基類(父類),類B稱為派生類(子類)。人學生老師大學生研究生碩士生博士生專科生本科生在職研究生75.1繼承與派生的概念單繼承:派生類從一個基類派生的繼承關(guān)系。多繼承:派生類從多個基類派生的繼承關(guān)系。人學生老師大學生研究生碩士生博士生專科生本科生在職研究生85.1繼承與派生的概念例:1、定義一個學生類Student,包括學生和姓名,以及顯示信息的函數(shù)。2、定義一個大學生類CollegeStudent,包括學生、姓名和專業(yè),以及顯示信息的函數(shù)。95.1繼承與派生的概念classStudent{public:voiddisplay(){cout<<num;cout<<name;}private:intnum;stringname;};classCollegeStudent{public:voiddisplay(){cout<<num;cout<<name;
cout<<speciality;}private:intnum;stringname;
stringspeciality;};能否在定義CollegeStudent時利用Student,而不用重新定義已有的成員?105.2派派生類的的聲明方式式聲明派生類類的一般形形式為:class派生類類名:[繼承方式]基類類名{派生類新增增成員;}繼承方式::public、private和protected,默認為為private。。115.2派派生類的的聲明方式式classCollegeStudent:publicStudent{public:voiddisplay1(){cout<<speciality;}private:stringspeciality;};基類的成員員在派生類類中如何存存在?125.3派派生類的的構(gòu)成派生類的成成員包括從從基類繼承過過來的成員員和自己增加的的成員兩大部分。。CollegeStudentintnum;stringname;voiddisplay();stringspeciality;voiddispaly1();Studentintnum;stringname;voiddiaplsy();繼承新增135.3派派生類的的構(gòu)成派生類的生生成過程::接收基類成成員。派生類接接收基類中中除構(gòu)造函數(shù)數(shù)和析構(gòu)函函數(shù)之外的全部成員。改造基類成成員。通過繼承承方式改造造基類成員員的訪問控制權(quán)權(quán)限;對基類成成員進行覆蓋,即在派生生類中聲明明一個和基基類數(shù)據(jù)或或函數(shù)同名名的成員。。添加新的成成員。14classStudent{public:Student(intn,stringna){num=n;name=na;}~Student(){}voidinput(){cin>>num>>name;}voiddisplay(){cout<<num<<name;}private:intnum;stringname;};classCollegeStudent:privateStudent{public:voiddisplay(){cout<<speciality;}private:stringspeciality;};例155.4派派生類成成員的訪問問屬性(一)公有有繼承public成員protected成員private成員public成員protected成員private成員基類派生類不可訪問16classStudent{public:voiddisplay(){cout<<num<<name;}private:intnum;stringname;};classCollegeStudent:publicStudent{public:voiddisplay1(){cout<<num<<name<<speciality;}private:stringspeciality;};找問題num和name在派生類中不不可訪問。17classStudent{……};classCollegeStudent:publicStudent{public:voiddisplay1(){cout<<speciality;}private: stringspeciality;};voidmain(){CollegeStudents;s.display();s.display1();return0;}改正185.4派派生類成員的的訪問屬性(二)私有繼繼承public成員protected成員private成員public成員protected成員private成員基類派生類不可訪問private成員private成員19classStudent{public:voiddisplay(){cout<<num<<name;}private:intnum;stringname;};classCollegeStudent:privateStudent{public:voiddisplay1(){cout<<speciality;}private:stringspeciality;};voidmain(){ CollegeStudents;s.display(); s.display1();s.speciality=“Computer”;return0;}找問題20classStudent{public:voiddisplay(){cout<<num<<name;}private:intnum;stringname;};classCollegeStudent:privateStudent{public:voiddisplay1(){display();cout<<speciality;}private:stringspeciality;};voidmain(){ CollegeStudents;s.display1();return0;}改正215.4派派生類成員的的訪問屬性(三)保護繼繼承public成員protected成員private成員public成員protected成員private成員基類派生類不可訪問protected成員protected成員225.4派派生類成員的的訪問屬性(三)保護繼繼承由protected聲聲明的成員稱稱為受保護成員,簡稱保護成員。在同一類中保保護成員和私私有成員一樣樣,只能被類類內(nèi)部的成員員函數(shù)訪問,,而不能被類類外訪問。保護成員可以以被派生類的成員員函數(shù)訪問。23classStudent{ private:intnum;protected:stringname;};classCollegeStudent:protectedStudent{public:voiddisplay(){cout<<num;cout<<name;}};voidmain(){ CollegeStudents;s.display();=“Zhang”;return0;}找問題24總結(jié)類的成員的訪訪問屬性Public:可以再類內(nèi)內(nèi)通過成員函函數(shù)來訪問,,也可以在類類外通過對象象來訪問。Private:只能再類內(nèi)內(nèi)通過成員函函數(shù)來訪問Protected:只能再類內(nèi)內(nèi)通過成員函函數(shù)來訪問25總結(jié)派生后成員訪訪問屬性在派派生類中的變變化:原來在基類中中的訪問屬性性與上繼承時的繼繼承方式,即即為基類成員員在派生類中中新的訪問屬屬性。Class基類{public:成員j1protected:成成員j2private:成員j3};Class派生類:基基類{public:成員p1protected:成成員p2private:成員p3};public,j1,j226總結(jié)派生后成員訪訪問屬性在派派生類中的變變化:原來在基類中中的訪問屬性性與上繼承時的繼繼承方式,即即為基類成員員在派生類中中新的訪問屬屬性。Class基類{public:成員j1protected:成成員j2private:成員j3};Class派生類:基基類{public:成員p1protected:成成員p2private:成員p3};Protected,j2,j127總結(jié)派生后成員訪訪問屬性在派派生類中的變變化:原來在基類中中的訪問屬性性與上繼承時的繼繼承方式,即即為基類成員員在派生類中中新的訪問屬屬性。Class基類{public:成員j1protected:成成員j2private:成員j3};Class派生類:基基類{public:成員p1protected:成成員p2private:成員p3};private,j2,j128練習classA//基類類{public:inti;protected:voidf2();intj;private:intk;};classB:publicA//public方式式{public:voidf3();protected:voidf4();private:intm;};classC:protectedB//protected方式{public:voidf5();private:intn;};29練習例課后第一、、二、三、四四、五題305.5派派生類的構(gòu)造造函數(shù)和析構(gòu)構(gòu)函數(shù)(一)簡單派派生類的構(gòu)造造函數(shù)簡單派生類只只有一個基類類,數(shù)據(jù)成員員中不包括基基類的對象。。簡單派生類構(gòu)構(gòu)造函數(shù)的定定義形式為::派生類構(gòu)造函函數(shù)(總參數(shù)數(shù)列表):基基類構(gòu)造函函數(shù)(參數(shù)列表){派生類中新增增數(shù)據(jù)成員初初始化;}31classStu{public:Stu(intn,stringna){num=n;name=na;}protected:intnum;stringname;};classColStu:publicStu{public:ColStu(intn,stringna,strings):Stu(n,na){ speciality=s;}voiddisplay(){cout<<num<<name<<speciality;}private:stringspeciality;};例325.5派派生生類類的的構(gòu)構(gòu)造造函函數(shù)數(shù)和和析析構(gòu)構(gòu)函函數(shù)數(shù)(一一))簡簡單單派派生生類類的的構(gòu)構(gòu)造造函函數(shù)數(shù)構(gòu)造造函函數(shù)數(shù)的的執(zhí)執(zhí)行行順順序序::基類類的的構(gòu)構(gòu)造造函函數(shù)數(shù)。。派生生類類的的構(gòu)構(gòu)造造函函數(shù)數(shù)。。析構(gòu)構(gòu)函函數(shù)數(shù)的的執(zhí)執(zhí)行行順順序序::派生生類類的的析析構(gòu)構(gòu)函函數(shù)數(shù)。。基類類的的析析構(gòu)構(gòu)函函數(shù)數(shù)。。33簡單單派派生生類類的的構(gòu)構(gòu)造造函函數(shù)數(shù)派生生類類構(gòu)構(gòu)造造函函數(shù)數(shù)((總總參參數(shù)數(shù)列列表表)):基基類類構(gòu)構(gòu)造造函函數(shù)數(shù)((參數(shù)數(shù)列列表表){派生生類類中中新新增增數(shù)數(shù)據(jù)據(jù)成成員員初初始始化化;;}構(gòu)造造函函數(shù)數(shù)的的執(zhí)執(zhí)行行順順序序::基類類的的構(gòu)構(gòu)造造函函數(shù)數(shù)。。派生生類類的的構(gòu)構(gòu)造造函函數(shù)數(shù)。。析構(gòu)構(gòu)函函數(shù)數(shù)的的執(zhí)執(zhí)行行順順序序::派生生類類的的析析構(gòu)構(gòu)函函數(shù)數(shù)。。基類類的的析析構(gòu)構(gòu)函函數(shù)數(shù)。。345.5派派生生類類的的構(gòu)構(gòu)造造函函數(shù)數(shù)和和析析構(gòu)構(gòu)函函數(shù)數(shù)(二二))有有子對對象象的派派生生類類的的構(gòu)構(gòu)造造函函數(shù)數(shù)有子子對對象象的的派派生生類類是是指指類類的的成成員員包包括括類類的的對對象象。。classStu{protected:intnum;stringname;};classColStu:publicStu{public:voiddisplay();private:stringspeciality;Stus;};355.5派派生生類類的的構(gòu)構(gòu)造造函函數(shù)數(shù)和和析析構(gòu)構(gòu)函函數(shù)數(shù)(二二))有有子子對對象象的的派派生生類類的的構(gòu)構(gòu)造造函函數(shù)數(shù)有子子對對象象的的派派生生類類構(gòu)構(gòu)造造函函數(shù)數(shù)的的一一般般形形式式為為::派生生類類構(gòu)構(gòu)造造函函數(shù)數(shù)((總總參參數(shù)數(shù)列列表表)):基類類構(gòu)構(gòu)造造函函數(shù)數(shù)((參參數(shù)數(shù)列列表表)),子子對對象象名名((參參數(shù)數(shù)列列表表)){派生生類類中中新新增增數(shù)數(shù)據(jù)據(jù)成成員員初初始始化化;;}365.5派派生生類類的的構(gòu)構(gòu)造造函函數(shù)數(shù)和和析析構(gòu)構(gòu)函函數(shù)數(shù)(二二))有有子子對對象象的的派派生生類類的的構(gòu)構(gòu)造造函函數(shù)數(shù)構(gòu)造造函函數(shù)數(shù)的的執(zhí)執(zhí)行行順順序序::基類類的的構(gòu)構(gòu)造造函函數(shù)數(shù)。。子對對象象的的構(gòu)構(gòu)造造函函數(shù)數(shù)。。派生生類類的的構(gòu)構(gòu)造造函函數(shù)數(shù)。。375.5派派生生類類的的構(gòu)構(gòu)造造函函數(shù)數(shù)和和析析構(gòu)構(gòu)函函數(shù)數(shù)classB{public:B(intbb){b=bb;}private:intb;};classC:publicB{public:C(intcc){c=cc;}private:BmemB;intc;};找問問題題 Cintb;//基類數(shù)據(jù)成員
intc;//新增數(shù)據(jù)成員
BmenB;//內(nèi)嵌子對象
如何何初初始始化化??38classB{private:intb;public:B(intbb){b=bb;cout<<"B:"<<b<<endl;}};classC:publicB{public:C(intaa,intbb,intcc):B(aa),memB(bb){c=cc;cout<<"C:"<<c<<endl;}private:BmemB;intc;};voidmain(){Cc(1,2,3);}例395.5派派生生類的的構(gòu)造造函數(shù)數(shù)和析析構(gòu)函函數(shù)(三))多層層派生生時的的構(gòu)造造函數(shù)數(shù)一個類類不僅僅可以以派生生出一一個派派生類類,派派生類類還可可以繼繼續(xù)派派生,,形成成派生生的層層次結(jié)結(jié)構(gòu)。。多層繼繼承時時的訪訪問屬屬性多層派派生時時的構(gòu)構(gòu)造函函數(shù)不不用列列出每每一層層派生生類的的構(gòu)造造函數(shù)數(shù),只只須寫寫出其其上一層層派生生類((即直接基基類)的構(gòu)構(gòu)造函函數(shù)即可。。40classA{public:A(intaa){a=aa;}private:inta;};classB:publicA{public:B(intaa,intbb):A(aa){b=bb;}private:intb;};classC:publicB{public:C(intaa,intbb,intcc):B(aa,bb){c=cc;}private:intc;};例415.5派派生生類的的構(gòu)造造函數(shù)數(shù)和析析構(gòu)函函數(shù)什么時時候在在聲明明派生生類的的構(gòu)造造函數(shù)數(shù)時需需要對對基類類或?qū)ο蟪沙蓡T進進行初初始化化?如果派派生類類的基基類或或內(nèi)嵌嵌子對對象所所屬的的類中中沒有有提供供默認認構(gòu)造造函數(shù)數(shù)時,,派生生類需需要聲聲明構(gòu)構(gòu)造函函數(shù),對繼繼承的的基類類成員員和內(nèi)內(nèi)嵌子子對象象的成成員進進行初初始化化。425.5派派生生類的的構(gòu)造造函數(shù)數(shù)和析析構(gòu)函函數(shù)構(gòu)造函函數(shù)的的執(zhí)行行順序序:基類的的構(gòu)造造函數(shù)數(shù)。子對象象的構(gòu)構(gòu)造函函數(shù)。。派生類類的構(gòu)構(gòu)造函函數(shù)。。析構(gòu)函函數(shù)的的執(zhí)行行順序序:派生類類的析析構(gòu)函函數(shù)。。子對象象的析析構(gòu)函函數(shù)。。基類的的析構(gòu)構(gòu)函數(shù)數(shù)。43classA{public:A(intaa){a=aa;cout<<"A:"<<a<<endl;}~A(){cout<<"~A"<<endl;}private:inta;};classB{public:B(intbb){b=bb;cout<<"B:"<<b<<endl;}~B(){cout<<"~B"<<endl;}private:intb;};classC:publicB{public:C(intaa,intbb,intcc):B(bb),a(aa){c=cc;cout<<"C:"<<c<<endl;}~C(){cout<<"~C"<<endl;}private:Aa;intc;};voidmain(){Cc(1,2,3);}例445.6多多重重繼承承多重繼繼承::一個個派生生類同同時繼繼承多多個基基類。。455.6多多重重繼承承(一))聲明明多重重繼承承的方方法class派派生類類名:[繼承方方式]基類類名1,,[繼承方方式]基類類名2,...,,[繼承方方式]基類類名n{派生類類成員員聲明明;};46classA{public:displayA{cout<<a;}inta;};classB{public:displayB{cout<<b;}intb;};classC:publicA,publicB{ public: displayC{cout<<c;}private:intc;};例47Cinta;intb;intc;voidDisplayA();voidDisplayB();voidDisplayC();Ainta;voidDisplayA();Bintb;voidDisplayB();5.6多多重繼承承485.6多多重繼承承(二)多重重繼承派生生類的構(gòu)造造函數(shù)多繼承下的的構(gòu)造函數(shù)數(shù)和析構(gòu)函函數(shù)與單繼繼承下的構(gòu)構(gòu)造函數(shù)和和析構(gòu)函數(shù)數(shù)是相似的的,派生類類的構(gòu)造函函數(shù)需要對對基類成員、、內(nèi)嵌子對對象和新增成員進行初始化化。49classA{public:A(intaa=0){a=aa;}private:inta;};classB{public:B(intbb=0){b=bb;}private:intb;};classC:publicA,publicB{public:private:Aa;Bb;intc;};構(gòu)造函數(shù)C(inta1,inta2,intb1,intb2,intcc):A(a1),a(a2),B(b1),b(b2){c=cc;}50classB1{public:B1(inti){cout<<"B1"<<i<<endl;}};classB2{public:B2(intj){cout<<"B2"<<j<<endl;}};classB3{public:B3(){cout<<"B3*"<<endl;}};classC:publicB2,publicB1,publicB3{public:C(inta,intb,intc,intd):B1(a),memB2(d),memB1(c),B2(b){}private:B1memB1;B2memB2;B3memB3;};voidmain(){Cobj(1,2,3,4);}例51(二)多重重繼承派生生類的構(gòu)造造函數(shù)格式:派生類構(gòu)造造函數(shù)名((總參數(shù)列列表):基基類1構(gòu)造造函數(shù)(參參數(shù)列表)),基類2構(gòu)造函數(shù)數(shù)(參數(shù)列列表),子子對象1(參數(shù)數(shù)列表),,子對象2(參參數(shù)列表)){派生類中新新增數(shù)據(jù)成成員初始化化語句}注意:調(diào)用基類、、子對象的的構(gòu)造函數(shù)數(shù)的順序是是按照聲明派生類類時基類、、子對象出出現(xiàn)的順序序來調(diào)用的。。525.6多多重繼承承(三)多重重繼承引起起的二義性性問題classA{public:voiddisplay(){cout<<"A"<<endl;}};classB{public:voiddisplay(){cout<<"B"<<endl;}};classC:publicA,publicB{};voidmain(){Cc;c.display();}找問題535.6多多重繼承承(三)多重重繼承引起起的二義性性問題Avoiddisplay();Bvoiddisplay();CvoidA::display();voidB::display();Cc;c.display();Cc;
c.A::display();c.B::display();54classA{public:voiddisplay(){cout<<"A"<<endl;}};classB{public:voiddisplay(){cout<<"B"<<endl;}};classC:publicA,publicB{public:voiddisplay(){cout<<"C"<<endl;}};voidmain(){Cc;c.display();}5.6多多重繼承承55復習5.5派派生類的的構(gòu)造函數(shù)數(shù)和析構(gòu)函函數(shù)(一)簡單單派生類的的構(gòu)造函數(shù)數(shù)(二)有子對象的派生類的的構(gòu)造函數(shù)數(shù)(三)多層層派生時的的構(gòu)造函數(shù)數(shù)5.6多多重繼承承(一)聲明明多重繼承承的方法(二)多重重繼承派生生類的構(gòu)造造函數(shù)(三)多重重繼承引起起的二義性性問題56簡單派生類類的構(gòu)造函函數(shù)派生類構(gòu)造造函數(shù)(總總參數(shù)列表表):基基類構(gòu)造函函數(shù)(參數(shù)列表){派生類中新新增數(shù)據(jù)成成員初始化化;}構(gòu)造函數(shù)的的執(zhí)行順序序:基類的構(gòu)造造函數(shù)。派生類的構(gòu)構(gòu)造函數(shù)。。析構(gòu)函數(shù)的的執(zhí)行順序序:派生類的析析構(gòu)函數(shù)。。基類的析構(gòu)構(gòu)函數(shù)。57classStu{public:Stu(intn,stringna){num=n;name=na;}protected: intnum;stringname;};classColStu:publicStu{public:ColStu(intn,stringna,strings):Stu(n,na){ speciality=s;}voiddisplay(){ cout<<num<<name<<speciality; }private:stringspeciality;};例58(二)有子子對象的派派生類的構(gòu)構(gòu)造函數(shù)派生類構(gòu)造造函數(shù)(總總參數(shù)列表表):基類構(gòu)造函函數(shù)(參數(shù)數(shù)列表),子對象名名(參數(shù)列列表){派生類中新新增數(shù)據(jù)成成員初始化化;}構(gòu)造函數(shù)的的執(zhí)行順序序:基類的構(gòu)造造函數(shù)。子對象的構(gòu)構(gòu)造函數(shù)。。派生類的構(gòu)構(gòu)造函數(shù)。。59classB{private:intb;public:B(intbb){b=bb;cout<<"B:"<<b<<endl;}};classC:publicB{public:C(intaa,intbb,intcc):B(aa),memB(bb){c=cc;cout<<"C:"<<c<<endl;}private:BmemB; intc;};voidmain(){Cc(1,2,3);}例60(三)多層層派生時的的構(gòu)造函數(shù)數(shù)多層派生時時的構(gòu)造函函數(shù)不用列列出每一層層派生類的的構(gòu)造函數(shù)數(shù),只須寫寫出其上一層派生生類(即直接基類)的構(gòu)造函函數(shù)即可。61classA{ public: A(intaa){a=aa;}private:inta;};classB:publicA{public:B(intaa,intbb):A(aa){b=bb;}private:intb;};classC:publicB{public:C(intaa,intbb,intcc):B(aa,bb){c=cc;}private:intc;};例625.6多多重繼承承(一)聲明明多重繼承承的方法class派生類類名:[繼承方式]基類名1,[繼承方式]基類名2,...,[繼承方式]基類名n{派生類成員員聲明;};63classA{ public: displayA{cout<<a;}inta;};classB{public:displayB{cout<<b;}intb;};classC:publicA,publicB{ public: displayC{cout<<c;}private:intc;};例64(二)多重重繼承派生生類的構(gòu)造造函數(shù)格式:派生類構(gòu)造造函數(shù)名((總參數(shù)列列表):基基類1構(gòu)造造函數(shù)(參參數(shù)列表)),基類2構(gòu)造函數(shù)數(shù)(參數(shù)列列表),子子對象1(參數(shù)數(shù)列表),,子對象2(參參數(shù)列表)){派生類中新新增數(shù)據(jù)成成員初始化化語句}注意:調(diào)用基類、、子對象的的構(gòu)造函數(shù)數(shù)的順序是是按照聲明派生類類時基類、、子對象出出現(xiàn)的順序序來調(diào)用的。。65classB1{public:B1(inti){cout<<"B1"<<i<<endl;}};classB2{public:B2(intj){cout<<"B2"<<j<<endl;}};classB3{public:B3(){cout<<"B3*"<<endl;}};classC:publicB2,publicB1,publicB3{public:C(inta,intb,intc,intd):B1(a),memB2(d),memB1(c),B2(b){}private:B1memB1;B2memB2;B3memB3;};voidmain(){Cobj(1,2,3,4);}例665.6多多重繼承(三)多重繼繼承引起的二二義性問題1、兩個基類類有同名成員員2、兩個基類類和派生類有有同名成員3、兩個直接接基類都繼承承于同一基類類675.6多多重繼承(三)多重繼繼承引起的二二義性問題Avoiddisplay();Bvoiddisplay();CvoidA::display();voidB::display();Cc;c.display();Cc;
c.A::display();c.B::display();685.6多多重繼承(三)多重繼繼承引起的二二義性問題派生類新增加加的同名成員員將覆蓋基類中的同名名成員。69classA{public:voiddisplay(){cout<<a<<endl;}};classB:publicA{};classC:publicA{};classD:publicB,publicC{public:voiddisplay(){cout<<a<<endl;}};voidmain(){Dd;d.display();//D類的display()c.B::display();//B類從A類繼承的display()c.C::display();//C類從A類繼承的display()}例705.6多多重繼承Ainta;voiddisplay();EintB::a;intC::a;intD::a;voidB::display();voidC::display();voidD::display();BintA::a;voidA::display();DintA::a;voidA::display();CintA::a;voidA::display();E中能否只保留留一份A的a和display()?715.6多多重繼承(四)虛基類類虛基類的作用用:可以使得得在繼承間接接共同基類時時只保留一份份成員。虛基類是在派生類的聲明過程中中聲明的,一般形式式為:class派派生類名:virtual繼承方式基基類名{派生類的定義義;}72classA{public:inta;voiddisplay(){cout<<a<<endl;}};classB:virtualpublicA{};classC:virtualpublicA{};classD:virtualpublicA{};classE:publicB,publicC,publicD{};voidmain(){Ee;e.a=1;e.display();}例為了保證虛基類的成員在派生類中只繼承一次,應(yīng)當在該基類的所有直接派生類中聲明為虛基類。735.6多多重繼承(四)虛基類類初始化如果在虛基類類中定義了帶帶參數(shù)的構(gòu)造造函數(shù),且沒有默認構(gòu)造造函數(shù),則在其所有直接或間接派生類中,都必須通通過初始化表表對虛基類進進行初始化。。74classA{public: A(intaa){a=aa;}private: inta;};classB:virtualpublicA{public: B(intaa,intbb):
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年心理測評與評估技術(shù)考核試題及答案
- 2025年心理學基礎(chǔ)知識測試題及答案
- 2025年航空服務(wù)與管理知識測試卷及答案
- 2025年護理學專業(yè)實習考核試題及答案
- 2025年生命科學與醫(yī)學倫理綜合能力考試卷及答案
- 2025年中國郵政集團有限公司廣西壯族自治區(qū)分公司校園招聘筆試模擬試題含答案詳解
- 物資質(zhì)量監(jiān)督管理制度
- 物資采購付款管理制度
- 特殊學校宿舍管理制度
- 特殊崗位人員管理制度
- 烏魯木齊市既有建筑改造消防設(shè)計審查工作指南
- 雨季車輛安全培訓課件
- 專項 記敘文閱讀(附答案)八年級語文下冊期中測試專項訓練(全國版)
- 2025-2030中國熊去氧膽酸類藥物行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 防跌倒、墜床預(yù)防指南
- 上海證券交易所會計監(jiān)管動態(tài)(2024年第2期,總第20期)2024.5.29
- 2025年中國品牌燕麥片(麥片) 市場供需格局及未來發(fā)展趨勢報告
- 2025年水發(fā)集團社會招聘(249人)筆試參考題庫附帶答案詳解
- 國家開放大學《四史通講》形考作業(yè)1-7答案
- 計量管理知到智慧樹章節(jié)測試課后答案2024年秋中國計量大學
- 以學為主的歷史教學心得體會
評論
0/150
提交評論