資源描述:
《c繼承與派生習題答案.doc》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、繼承與派生概念填空題1.1在C++中,三種派生方式的說明符號為public、private、protected不加說明,則默認的派生方式為private。1.2當公有派生時,基類的公有成員成為派生類的公有成員;保護成員成為派生類的保護成員;私有成員成為派生類的不能直接訪問成員。當保護派生時,基類的公有成員成為派生類的保護成員;保護成員成為派生類的保護成員;私有成員成為派生類的不能直接訪問成員。1.3派生類的構造函數(shù)一般有3項工作要完成:首先基類初始化,其次成員對象初始化,最后執(zhí)行派生類構造函數(shù)體。1.
2、4多繼承時,多個基類中的同名的成員在派生類中由于標識符不唯一而出現(xiàn)二義性。在派生類中采用虛基類或作用域分辨符來消除該問題。3.選擇題3.1下面對派生類的描述中,錯誤的是(D)。A.一個派生類可以作為另外一個派生類的基類B.派生類至少有一個基類C.派生類的成員除了它自己的成員外,還包含了它的基類的成員D.派生類中繼承的基類成員的訪問權限到派生類中保持不變3.2下列對友元關系敘述正確的是(A)。A.不能繼承B.是類與類的關系C.是一個類的成員函數(shù)與另一個類的關系D.提高程序的運行效率3.3當保護繼承時,基
3、類的(B)在派生類中成為保護成員,不能通過派生類的對象來直接訪問。A.任何成員B.公有成員和保護成員C.公有成員和私有成員D.私有成員3.4設置虛基類的目的是(B)。A.簡化程序B.消除二義性C.提高運行效率D.減少目標代碼3.5在公有派生情況下,有關派生類對象和基類對象的關系,不正確的敘述是(C)。A.派生類的對象可以賦給基類的對象B.派生類的對象可以初始化基類的引用C.派生類的對象可以直接訪問基類中的成員D.派生類的對象的地址可以賦給指向基類的指針3.6有如下類定義:classMyBASE{int
4、k;public:voidset(intn){k=n;}intget()const{returnk;}};classMyDERIVED:protectedMyBASE{protected;intj;public:voidset(intm,intn){MyBASE::set(m);j=n;}intget()const{returnMyBASE::get()+j;}};則類MyDERIVED中保護成員個數(shù)是(B)。A.4B.3C.2D.13.7程序如下:#includeusingnam
5、espacestd;classA{public:A(){cout<<”A”;}};classB{public:B(){cout<<”B”;}};classC:publicA{Bb;public:C(){cout<<”C”;}};intmain(){Cobj;return0;}執(zhí)行后的輸出結果是(D)。A.CBAB.BACC.ACBD.ABC3.8類O定義了私有函數(shù)F1。P和Q為O的派生類,定義為classP:protectedO{…};classQ:publicO{…}。(C)可以訪問Fl。A.O的對
6、象B.P類內(nèi)C.O類內(nèi)D.Q類內(nèi)3.9有如下類定義:classXA{intx;public:XA(intn){x=n;}};classXB:publicXA{inty;public:XB(inta,intb);};在構造函數(shù)XB的下列定義中,正確的是(B)。A.XB::XB(inta,intb):x(a),y(b){}B.XB::XB(inta,intb):XA(a),y(b){}C.XB::XB(inta,intb):x(a),XB(b){}D.XB::XB(inta,intb):XA(a),XB(
7、b){}4.寫出程序運行結果4.l#includeusingnamespacestd;classB1{public:B1(inti){cout<<”constructingB1“<8、rtualpublicB1{intj;public:C(inta,intb,intc):B1(a),memberB1(b),j(c){}private:B1memberB1;B2memberB2;};intmain(){Cobj(1,2,3);}constructingB11constructingB3*constructingB12constructingB3*destructingB3destructingB1destructingB3destruc