23种设计模式之代理模式(结构型,1 Proxy,c++实现)

23种设计模式之代理模式(结构型,1 Proxy,c++实现)

代码实现:

#include <iostream>



using namespace std;


class Bookstore

{

public:

virtual void sale() = 0;

};


class PhysicalBookstore :public Bookstore

{

public:

void sale()

{

cout << "sale book" << endl;

}

};


class Dangdangwang :public Bookstore

{

public:

void sale()

{

Bookstore* bs = new PhysicalBookstore;

discount();

cout << "sale book" << endl;

}

void discount()

{

cout << "discount" << endl;

}

private:

Bookstore* bookStore;

};


void main()

{

Bookstore* bs = new Dangdangwang;

bs->sale();

}