#include "date.h"
#include "address.h"
class Person{
...
private:
Date theBirthDate;
Address theAddress;
}
date.h和address.h这些头文件中有任何一个被改变,或这些头文件所依赖的其他头文件有任何改变,那么每一个函数Person class的文件就给重新编译,任何使用Person class的文件也必须重新编译。
class Date;
class Address;
class Person{
...
private:
...
...
}
如果可以这样,Person的客户端只需要在Person接口被改过时才重新编译。
参考:effective C++ 31条