在编写c++头文件是,应该养成一个好习惯就是不要再头文件中定义任何东西,包括函数的定义。
原因是当头文件被多个cpp文件包含时,如果各cpp文件作为单独的编译单元各自编译,然后再将对应的.o文件链接,在单独编译时头文件会各自单独被展开,在头文件中定义的变量、函数在链接时会出现重复定义的现象。
为避免上述问题,只在头文件中写声明,将对应的定义放到cpp文件中是一个不错的解决办法。
在编写c++头文件是,应该养成一个好习惯就是不要再头文件中定义任何东西,包括函数的定义。
原因是当头文件被多个cpp文件包含时,如果各cpp文件作为单独的编译单元各自编译,然后再将对应的.o文件链接,在单独编译时头文件会各自单独被展开,在头文件中定义的变量、函数在链接时会出现重复定义的现象。
为避免上述问题,只在头文件中写声明,将对应的定义放到cpp文件中是一个不错的解决办法。