解决这个技术的叫做句柄类(handle class),有关实现的东西都消失,只留下一个单一的指针。例如在一个类中声明一个结构chest,然后定义一个结构指针作为该类成员变量。该结构的实现在文件中,当修改该结构的成员时,就只需要重新编译文件,然后连接到项目中。
H:
#ifndef _HANDLE_CLASS_
#define _HANDLE_CLASS_
class handle
{
public:
struct chest;
chest* pch;
void intialHandle();
void clearnUp();
void change(int input);
int read();
};
#endif
CPP:
struct handle::chest{int i;};
void handle::intialHandle(){
pch = (chest*)malloc(sizeof(chest));
assert(pch);
pch->i = 0;
}
void handle::clearnUp(){free(pch);}
void handle::change(int input){pch->i = input;}
int handle::read(){return pch->i;}
没时间做更深入的分析,以后有时间再举几个例子剖析剖析下...