头文件中的类实现==坏样式?

时间:2011-08-15 20:09:45

标签: c++ oop coding-style

  

可能重复:
  In C++ why have header files and cpp files?

我想知道在头文件中编写整个类c ++是否可行?并使用include来包含类,类似于java执行其oop编程。这是一种糟糕的风格吗?谁能推荐我一个“好”的C ++ oop风格指南?另外,我想知道模板编程是否是他们谈论有c ++经验的人时的真正含义。

3 个答案:

答案 0 :(得分:3)

在头文件中包含函数定义会产生一些影响,通常可以避免。以这种方式定义的函数可能会内联,这会增加可执行文件的大小,从而影响性能(以正面或负面的方式)。此外,这样做可能会增加您的构建时间,因为所有定义都会增加您必须包含其他文件的可能性等。

一般做法是将一个类接口放在头文件(.h)中,并将其实现放在一个实现文件(.cpp)中。

在某些情况下,需要提供所有代码 - 就像模板一样。 STL广泛使用模板,函数的实现必然包含在头文件中。

答案 1 :(得分:2)

将公共类和函数声明放在.h中 将定义和其他所有内容放在.cpp

.h是你的界面,.cpp是你的实现。

答案 2 :(得分:0)

将声明与实现分开总是更好的风格,尤其是对于更复杂的功能。

模板有点先进。

一个好的入门书是:http://www.cplusplus.com/doc/tutorial/classes/