标签:str com 方式 类适配器 composite inf 不同 onclick 使用
概述
示例
Adapter.cpp
1 //目标接口(新接口) 2 class ITarget{ 3 public: 4 virtual void process()=0; 5 }; 6 7 //遗留接口(老接口) 8 class IAdaptee{ 9 public: 10 virtual void foo(int data)=0; 11 virtual int bar()=0; 12 }; 13 14 //遗留类型 15 class OldClass: public IAdaptee{ 16 //.... 17 }; 18 19 //对象适配器 20 class Adapter: public ITarget{ //继承 21 protected: 22 IAdaptee* pAdaptee;//组合 23 24 public: 25 26 Adapter(IAdaptee* pAdaptee){ 27 this->pAdaptee=pAdaptee; 28 } 29 30 virtual void process(){ 31 int data=pAdaptee->bar(); 32 pAdaptee->foo(data); 33 34 } 35 }; 36 37 //类适配器 38 class Adapter: public ITarget, 39 protected OldClass{ //多继承 40 41 42 } 43 44 int main(){ 45 IAdaptee* pAdaptee=new OldClass(); 46 47 48 ITarget* pTarget=new Adapter(pAdaptee); 49 pTarget->process(); 50 51 52 } 53 54 class stack{ 55 deqeue container; 56 57 }; 58 59 class queue{ 60 deqeue container; 61 62 };
参考
UML图
https://www.cnblogs.com/jiangds/p/6596595.html
protected成员
http://c.biancheng.net/view/252.html
私有成员:只能在类内使用
保护成员:类内,继承类内可以使用
共有成员:所有地方都可使用
私有继承:父类成员继承后变为子类私有成员
保护继承:父类公有成员继承后变为子类保护成员
共有继承:父类成员继承后属性不变
标签:str com 方式 类适配器 composite inf 不同 onclick 使用
原文地址:https://www.cnblogs.com/cxc1357/p/12313115.html