03. * 檔名稱:text.cpp
05. * 完成日期:2023年5月9日
06. * 版本號:vc++6.0
07. */
#includeusing namespace std;
class a
;class b:public a {}; // class b:virtual public a{};
class c:public a {}; // class c:virtual public a{};
class d:public b,public c
};int main()
{ d d;
d.b::n=10;
d.c::n=20;
cout<
執行結果:
分析:此題中,b,c都是a的派生類,所以在主函式呼叫的時候前面要加上類名::來區別,又因為d為b,c的派生類,所以return的時候return的是b::的n,所以是10.
當引入虛基類的時候,問題則得到了解決。
閱讀程式,寫結果4
include using namespace std class base class derived1 virtual public base class derived2 virtual public base class myderived public derived1,public de...
十一周閱讀程式4
檔名稱 main.cpp 作 者 隋文韜 完成日期 2016年6月9日 版 本 號 v1.0 問題描述 閱讀程式 呼叫myderived時,先呼叫base的建構函式,輸出base constructor.e 根據順序,在呼叫derived1,因為base是derived1的虛基類,只初始化一次,所以...
第12周閱讀程式(4)
問題與 檔名稱 test.cpp 完成日期 2016年5月23日 版本號 v1.0 問題描述 輸入描述 程式輸出 includeusing namespace std class pair bool operator pair p const bool pair operator pair p co...