討論串[問題] 多重繼承疑惑
共 3 篇文章
首頁
上一頁
1
下一頁
尾頁
內容預覽:
另外也可以考慮使用 static_cast 來偏移 D* pointer。. D *p = new D;. cout << &static_cast<B*>(p)->a << endl;. cout << &static_cast<C*>(p)->a << endl;. cout << "D obj
(還有638個字)
內容預覽:
咳咳...你用了錯誤的轉型。. 先來看看你如何把 p 轉型成 B*:. cout<<&( ((B*)&p)->B::a )<<endl;. 首先你用 &p 就錯了...&p 是 B**,也就是指向指標的指標,而不是指向 A 的指標。. 因此至少你要改成:. cout<<&( ((B*)p)->B::
(還有1159個字)
內容預覽:
有點走火入魔了..... 現在試著了解一下多重繼承. http://nopaste.csie.org/5f8d3. 這是不使用虛擬繼承跑跑看的結果. 發現new的 和 直接用物件 印出來的結果竟然有差異. 先拿物件的方式印來看. A::a 分給B::a 和C::a 因為D先繼承C 所以A::a和C:
(還有141個字)
首頁
上一頁
1
下一頁
尾頁