使用类的前置声明可以减少头文件的包含关系,如下情况我们可以使用类的前置声明,而不需要包含类的头文件。
1、在函数的声明中,参数和返回值中是类的指针、类的引用
2、如果类定义在某个命名空间中,可以通过如下方法对类进行前置声明:
using cv
{
class Mat;
}
3、使用typedef定义的类
#a.h
typedef struct my_time_t
{
int hour, minute, second;
} MY_TIME;
#b.h
struct my_time_t;
typedef struct my_time_t MY_TIME;
void func(MY_TIME* mt) {}