1
我有一個問題,我不確定如何在C++中處理它;指向基類以及如何確定實例的實際類型
我有三個對象,每個對象可以執行多個不同的動作。這些對象支持一個附加對象,它可以添加到它們可以執行的操作。根據添加的對象,添加將啓用不同的操作。
我該如何在C++中建模?
我想有類A,B,C,AddOn1,AddOn2。
的問題是:
如何AddOn1/2知道在運行時,它包含哪些行動(換句話說,它是如何知道什麼(類型的)反對它連接到)?
類A,B,C如何知道它具有哪種類型的附加組件?
我想這樣做
類A { ... 附加元件*插件; };
並使用該指針與加載項一起使用。但我需要將它投入到其特定的類中才能使用它的功能。
我可以看到,我可以如hasAddOn1和hasAddOn2布爾字段和基於這些設置強制轉換。然後在AddOn基類中,我可以有一個指向其父節點的指針,並詢問父節點以找出AddOn的類型。
這是否有意義?