指向实现的指针是指在一个类中使用另外一个类的指针作为私有成员。通过这种方法的好处:
- 二进制兼容
- 数据隐藏
- 减少重新编译单元
下面看一个例子:
#include <iostream>
class out {
class in;
in *m_in;
public:
out(int a);
};
class out::in {
int m_a;
public:
in(int a) : m_a(a) {}
void show(void) { std::cout << "m_a: " << m_a << std::endl; }
};
out::out(int a): m_in(new out::in(a)) {}
int main(void) {
out o(1);
}