一般来说,写C++程序时推荐“类的声明和实现分离”,也就是说一个类的声明放在example.h文件中,而这个类的实现放在example.cpp文件中,这样方便管理,条理清晰。
但是如果类的声明用到了模板template,则类的声明与实现分离是不可取的,因为这个GCC会报错,比如undefined reference to XXX等错误。
所以如果用到了template需要把函数的实现放到类的声明文件中,至于函数是直接在class声明内定义,还是在class声明外定义都可以。
一般来说,写C++程序时推荐“类的声明和实现分离”,也就是说一个类的声明放在example.h文件中,而这个类的实现放在example.cpp文件中,这样方便管理,条理清晰。
但是如果类的声明用到了模板template,则类的声明与实现分离是不可取的,因为这个GCC会报错,比如undefined reference to XXX等错误。
所以如果用到了template需要把函数的实现放到类的声明文件中,至于函数是直接在class声明内定义,还是在class声明外定义都可以。