#include <iostream>
using namespace std;
class Base{
public:
Base(){
cout<<"Base的无参构造"<<endl;
}
virtual void method()=0;
virtual ~ Base(){
cout<<"Base的析构函数"<<endl;
}
};
class source :public Base{
public:
void method(){
cout<<"source的method方法..."<<endl;
}
~source(){
cout<<"source的析构函数..."<<endl;
}
};
class proxy:public Base{
private:
source *s;
public:
proxy(){
s=new source();
}
proxy(source*t){
s=t;
}
void method(){
s->method();
}
~proxy(){
cout<<"proxy的析构函数"<<endl;
delete s;
}
};
int main(void){
proxy *p=new proxy();
p->method();
}