[英]How can I use the Iterator design pattern to provide multiple iterators for a wrapper container class in C++?
[英]Wrapper design pattern
說我有一堂課:
class B;
class A{
public:
A();
virtual B foo();
}
在第3方組件中定義。 我想包裝類A和B,得到myA和myB。 現在,我不應該從外部訪問A類和B類,而對myA和myB具有相同的功能。 foo()可以從第3方模塊中調用。
我更喜歡使用繼承而不是封裝。
所以有兩個問題:
關於如何做到這一點的任何建議? 我想出了一些解決方案,但我希望從整體上獲得新的看法。
編輯:
只是一個理論問題。 我實際上不需要這樣做,只是思考可以實現的方式。
編輯2:
myA2是擴展myA的類。 在該模式之前,它會被稱為A2(從第3方模塊擴展了A類的類)。
我不明白為什么您更喜歡繼承而不是封裝。 一般來說,擴展您要包裝的類是實現包裝器模式的“錯誤”方法,尤其是因為您通常希望在過程中重新定義接口。 在myA類中,您將具有A類型的字段,其中包含A類的實例,myA中的方法可以根據需要調用。 除非我誤解了您想要完成的工作,否則這是完成您想要的工作的最優雅的方式。
您應該能夠類似地聲明函數名稱/參數。 檢出: 奇怪的繼承節:[23.9]這是什么意思,警告: Derived::f(char)
隱藏Base::f(double)
? 在第三個代碼塊上
它還顯示了調用基本方法的語法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.