簡體   English   中英

C ++超類數組還可以訪問子類方法嗎?

[英]C++ superclass Array yet access subclass methods?

我有一個帳戶類,我有3種類型的帳戶儲蓄,信貸和住房貸款。

我創建了一個二叉搜索樹來將所有帳戶保存為類型帳戶

現在如何根據對象的類型訪問子類的方法?

已經用語法和編碼解決了所有錯誤,但這是。

我的腦袋摔倒了兩天。 有誰知道這是怎么做的?

簡單的答案是,如果您需要從基類指針訪問派生類的功能,則存在設計問題。 原則上,您不需要知道。 如果這樣做,那是不對的。 從純粹的意義上講,您應該從基類接口調用虛函數,並讓派生類實現其重寫,以便它們正確執行。

現在,有時候,實際上,您必須這樣做。 因此,有可能出現低迷。 如果您的構建中包含“運行時類型”信息,則可以執行dynamic_cast<type*>並且如果返回的指針為非null,則您具有該類型的實例。

如果您確實走這條路,請將其包裹在干凈的東西中,不要讓它擴散-它會變得凌亂。 我建議您看看使用多態是否還有更好的方法。

玩得開心!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM