第12周 《C++語言基礎》程式閱讀——多重繼承(4)

來源:互聯網
上載者:User

標籤:

問題描述:

(4)閱讀程式,寫出執行結果,並回答問題    

#include<iostream>  using namespace std; class A  {  public:     int n;  };  class B:public A {};   // class B:virtual public A{};  class C:public A {};   // class C:virtual public A{};  class D:public B,public C  {  public:    int getn() {return B::n;}  };  int main()  {     D d;     d.B::n=10;     d.C::n=20;   cout<<d.getn()<<endl;    return 0;}  



(1)程式執行後,運行結果是多少?

預計運行結果:10

實際運行結果:
(2)將程式中有注釋的兩條語句修改為注釋的內容,即將“class B:public A {};”修改為“class B:virtual public A{};”,“class C:public A {}; ”修改為“class C:virtual public A{};”,重新編譯運行程式,程式的運行結果又是多少?
預計運行結果:20
實際運行結果:

第12周 《C++語言基礎》程式閱讀——多重繼承(4)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.