#include <iostream> using namespace std; class surfinternet { public: surfinternet(){} virtual ~surfinternet(){} virtual void look_youtube()=0; virtual void look_twitter()=0; virtual void look_fackbook()=0; }; class overwall : public surfinternet { public: overwall(){} virtual ~overwall(){} void look_youtube(){cout<<"look youtube"<<endl;} void look_twitter(){cout<<"look twitter"<<endl;} void look_fackbook(){cout<<"look facebook"<<endl;} }; class proxy : public surfinternet { public: proxy(){psurfnet=new overwall;} virtual ~proxy(){delete psurfnet;} void look_youtube(){psurfnet->look_youtube();} void look_twitter(){psurfnet->look_twitter();} void look_fackbook(){psurfnet->look_fackbook();} private: surfinternet *psurfnet; }; int main() { surfinternet *p=new proxy; p->look_youtube(); p->look_twitter(); p->look_fackbook(); delete p; system("pause"); return 0; }