2012-04-05 63 views
0

我想知道如果我可以在.h文件中定义和声明方法/函数以及是否可以在测试文件(.cpp文件)中调用它们,或者我只需要在.h文件中声明并在separte .cpp文件中声明。在C++ .h文件中定义和声明函数/方法

感谢 我编码在C++

+1

http://mattgemmell.com/2008/12/08/what-have-you-tried/ – 2012-04-05 10:19:05

回答

2

可以声明,并在报头所定义的功能,但没有使他们inline可能会给你链接errors.The one definition rule定义它们很容易被破解,除非功能在后一种情况下是inline

除非,你真的知道你在做什么,最好在头文件中声明函数并在cpp文件中定义它们。

+0

:如果我有一个函数作为 INT的DateFormat(结构TM * TM) { .... return atoi(date.c_str()); } 我可以在头文件中声明,但要传入什么参数 – gandhigcpp 2012-04-05 10:23:16

+0

你可以在头文件中声明它,将头文件包含在你想调用函数的cpp文件中。声明一个函数,定义一个函数体和实际调用一个函数是三个不同的里程碑。你真的需要一本[好书](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-和列表)。 – 2012-04-05 10:34:31

+0

:如果在该函数定义中我有几个变量,如果我按照你说的定义在cpp文件中,我应该在哪里给出声明变量 – gandhigcpp 2012-04-05 10:36:42