摘要:
我们假设这样一种应用场景,有两个类A和B,在B中需要调用A的一个方法(成员函数)。那么我们的代码可能是这个样子的:class A{public: void Func(void) { printf("%s\r\n", __FUNCTION__); }};class B{public: void UseA() { a->Func(); }public: A* a;}; 调用代码是这样的:A a;B b;b.a = &a;b.UseA(); 我们观察上面的代码,看看有什么问题:两个类中B对A产生了一个依赖关系,这让人有点不爽;哪天我们想用另外一个类C替代A的作用意味 阅读全文