委托模式的作用是將一個(gè)接口的實(shí)現(xiàn)委托給另一個(gè)內(nèi)部對象,這使得我們可以用聚合來替代繼承,不必用繼承的方式去實(shí)現(xiàn)具體動作,而把這個(gè)具體實(shí)現(xiàn)留給聚合的內(nèi)部對象去實(shí)現(xiàn)。


#include <iostream>
class RealPrinter { // the "delegate"
public:
    void print() { 
        printf("I'll really print something"); 
    }
};
 
class Printer { // the "delegator"
public:
    Printer(){
        p = new RealPrinter(); // create the delegate 
    }
    ~Printer(){
        delete p;
    }
    void print() { 
        p->print(); // delegation
    }
private:
    RealPrinter *p;
};
 
int main() {
    Printer *printer = new Printer();
    printer->print();
    return 0;
}