组合

来源:互联网 发布:海康网络键盘上墙 编辑:程序博客网 时间:2024/04/29 22:15

组合(非继承关系):电脑(由鼠标、键盘等组成),而不是电脑继承鼠标,继承键盘

# include <iostream>using namespace std;//组成部分而非继承,电脑将每一个部分组合起来并具有每一部分的功能 class Keyboard{public:void input();};class Mouse{public:void click();};void Keyboard::input(){cout<<"keyboard_input"<<endl;}void Mouse::click(){cout<<"mouse_click"<<endl;}class Computer{//电脑是由鼠标、键盘组成而成,用组合。而不是多继承,它们这里不使用继承关系 public:Computer(Keyboard* key, Mouse* mo): mkey(key), mmo(mo){}void input(){mkey->input();}void click(){mmo->click();}protected:Keyboard* mkey;Mouse* mmo;};int main(){Mouse a;Keyboard b;Computer cc(&b, &a);cc.click();return 0;}


0 0
原创粉丝点击