类的声明和实现应该分开写还是合在一起写?
比如说我把类的声明写在头文件上,把类的实现放在另外一个cpp文件上,到时候我在主程序调用这个类时,它会自动找到类的实现吗?
当然可以找到。这个找的过程是连接器完成的。你有函数的原型,编译器就会产生一个符号。
分开写好一点。
编译的时候,分别编译每个cpp文件成为.o文件,
最后链接每个.o文件,生成一个可执行的二进制文件
这个二进制文件已经包含了需要接口的实现的二进制。所以不存在找到找不到。
另,还有一个叫动态库的东东,在链接的时候不会放到可执行文件中去,那要怎么办呢?
就要让这个可执行文件去找了!即在执行文件之前,要设置动态库的查找路径。
比如在linux下就是配置LD_LIBRARY_PATH,通过这个路径找到其实现。
要在cpp文件中include头文件
会,但你用vc++的话记得添加工程,还要放到同一文件夹下
会的,Cpp文件里会把它的头文件include进来的。
会的。只要你在.cpp文件加上你写的头文件就可以
同样文件名的.h和.cpp文件并没有必然联系。我们一般将声明放在头文件,实现放在cpp文件。
cpp文件包含了声明所在的头文件,编译器是可以认识到函数声明对应的符号的。
会的一楼说得对,cpp里要include头文件,另外cpp里的实现可以帮助你开发lib的时候把重要算法加密,你只要给别人lib和头文件就可以了。
会的,.h 和 .cpp 就是一个声明,一个实现,但是不要忘了要将.h文件 include进来
在头文件里面写上类的声明,cpp文件里面写定义,编译器会自动链接,包括头文件就可以直接调用
因为你的cpp第一行就有关于那个头文件的include,所以编译器可以找到,
只要都在一个工程里就行了
看需要咯,一般还是分开来比较清晰一些,不会拥挤在一个头文件里
会的,文件分为头文件和cpp文件,编译的时候要是遇到自定义的头文件,他就会先编译头文件的。当然要在同一个工程内
会找到的,通常如果实现很短的函数可以直接写在通文件里,其他实现较复杂的都写在cpp文件里。