什么是代理类,使用c++写一个代理类
时间: 2024-02-22 10:56:57 浏览: 26
代理类是一种设计模式,它充当另一个类的接口,并且可以控制对该类的访问。代理类在访问对象时可以添加一些额外的功能,例如对象的缓存、日志记录、性能优化等。在C++中,可以通过以下方式实现代理类:
```c++
class RealObject {
public:
void performAction() {
std::cout << "RealObject is performing action." << std::endl;
}
};
class ProxyObject {
private:
RealObject* realObject;
public:
ProxyObject(RealObject* realObj) {
realObject = realObj;
}
void performAction() {
std::cout << "ProxyObject is performing action." << std::endl;
realObject->performAction();
}
};
int main() {
RealObject* realObj = new RealObject();
ProxyObject* proxyObj = new ProxyObject(realObj);
proxyObj->performAction();
delete proxyObj;
delete realObj;
return 0;
}
```
在上述示例中,RealObject是被代理的类,ProxyObject是代理类。通过在ProxyObject的performAction()方法中调用RealObject的实际实现,实现了对RealObject的代理访问。