#include <iostream>
#include <string>
#include <string>
using namespace std;
//抽象基类
class Worker {
public:
virtual void write() = 0;
virtual void read() = 0;
};
class Worker {
public:
virtual void write() = 0;
virtual void read() = 0;
};
//具体的工作的实现
class mworker :public Worker
{
public:
virtual void write()
{
cout << "writeing....." << endl;
}
virtual void read()
{
cout << "reading....." << endl;
}
};
{
public:
virtual void write()
{
cout << "writeing....." << endl;
}
virtual void read()
{
cout << "reading....." << endl;
}
};
//代理工作
class hwork :public Worker
{
public:
hwork(mworker * m)
{
this->_m = m;
}
virtual void write()
{
cout << "ssssss" << endl; //可以添加自己的业务处理
this->_m->write();
}
virtual void read()
{
cout << "cccc" << endl; //可以添加自己的业务处理
this->_m->read();
}
private:
mworker * _m; //获取基类 实现多态
};
{
public:
hwork(mworker * m)
{
this->_m = m;
}
virtual void write()
{
cout << "ssssss" << endl; //可以添加自己的业务处理
this->_m->write();
}
virtual void read()
{
cout << "cccc" << endl; //可以添加自己的业务处理
this->_m->read();
}
private:
mworker * _m; //获取基类 实现多态
};
//要执行的任务
int main(void)
{
{
Worker * w = NULL;
hwork *h = new hwork(new mworker); //
hwork *h = new hwork(new mworker); //
h->read();
h->write();
h->write();
delete h;
system("pause");
return 0;
}
return 0;
}