你应该在.h文件中声明类的getters/setter,然后在.cpp中定义它们.或者在.h文件中同时执行它们.你喜欢哪种风格?为什么?我个人喜欢后者,其中所有这些都在.h中,并且只有与.cpp中的setter/getters相关的逻辑相关的方法.
对我来说,这取决于谁将使用.h文件.如果它是一个主要在模块内部的文件,那么我倾向于将小方法放在标题中.如果它是一个更外部的头文件,它提供了一个更固定的API,那么我将把所有内容都放在.cpp文件中.在这种情况下,我经常使用PIMPL Idiom作为完整的编译防火墙.
我看到将它们放入标题中的权衡取舍是:
减少打字
更容易内联编译器(尽管编译器有时可以在多个翻译单元之间进行内联.)
更多编译依赖项
我会说头文件应该是关于接口,而不是实现.我把它们放在.cpp中.