“class”类型重定义 || 防止头文件重复加载 || 两个类之间互相引用

2018-07-03 11:34:36 浏览数 (1)

“class”类型重定义  :

  一般都是头文件重复include引起的。

防止头文件重复加载:

  系统那些头文件,无论怎么include都没事,因为一般都用了宏定义,防止重复。

  在头文件最上方写:

  #ifndef XXXXXXX (一个名字,尽量做到唯一)

  #define XXXXXXX (跟上边的名字一样)

  文件最后写:

  #endif

两个类之间互相引用:

  A.H:

  class A{

    B* b;

  }

  B.H:

  class B{

    A* b;

  }

  就这样互相include后,肯定会出错。

  需要在各自的声明前边,加上对方的声明,变成:

  A.H:

  class B;

  class A{

    B* b;

  }

  B.H:

  class A;

  class B{

    A* b;

  }

0 人点赞