请问各位高手如何从一个*.cpp调用另一个*.cpp中的函数?

时间:2022-03-26 20:14:51
在VC一些程序中经常会出现调用另一个*.cpp中的函数,不知如何调用,我只会用AfxGetMainWnd()->SendMessage(WM_COMMAND,ID)调用一个命令而已,请高手指点指点其他的方法!

9 个解决方案

#1


用EXTERN声明一下就可以用了。

#2


然后直接调用就可以了吗?是不是  函数名( ),这样吗?

#3


要调用一个函数,必须先声明这个函数。不管以何种方式只要在编译器在.cpp文件中找到这个函数的声明,就允许在这个.cpp文件中调用这个函数。(extern声明,#include声明都可以)。
但在link时,必须能找到函数的定义,即定义了函数的那个.cpp文件。

#4


是不是在.h中extern声明此函数,或是在.h中#include声明函数所在的*.h,请问高手们,是吗?

#5


.cpp中也可以

#6


在一个CCP中定义一个此类的指针,再在构造函数中初始化为this,然后在使用的CPP中用extern 引入这个指针就可以了,那么这个指针就可以去调用前一个中的函数。

#7


这个问题和“一个cpp文件如何继承另一个cpp文件”的思路是一样的^_^

#8


说来话长了,如果你调用的函数的是类的成员同时两个类之间没有任何关系的话,该函数必须声明成public函数,在调用类的.CPP中包含被调用的类的头文件.HPP,通过生成被调用类的对象.函数名()来调用即可;
如果函数为全局的:函数在CPP顶部声明和实现的,只include声明和实现的函数的头文件和cpp文件即可,可直接通过函数名调用.
关系到类的继承的函数调用的问题我就不多说了,相信你有这方面的资料.

#9


先在声明另一个.cpp的头函数,在建立一个指向该类的一个指针,通过该指针就可以调用另一个.cpp中函数

#1


用EXTERN声明一下就可以用了。

#2


然后直接调用就可以了吗?是不是  函数名( ),这样吗?

#3


要调用一个函数,必须先声明这个函数。不管以何种方式只要在编译器在.cpp文件中找到这个函数的声明,就允许在这个.cpp文件中调用这个函数。(extern声明,#include声明都可以)。
但在link时,必须能找到函数的定义,即定义了函数的那个.cpp文件。

#4


是不是在.h中extern声明此函数,或是在.h中#include声明函数所在的*.h,请问高手们,是吗?

#5


.cpp中也可以

#6


在一个CCP中定义一个此类的指针,再在构造函数中初始化为this,然后在使用的CPP中用extern 引入这个指针就可以了,那么这个指针就可以去调用前一个中的函数。

#7


这个问题和“一个cpp文件如何继承另一个cpp文件”的思路是一样的^_^

#8


说来话长了,如果你调用的函数的是类的成员同时两个类之间没有任何关系的话,该函数必须声明成public函数,在调用类的.CPP中包含被调用的类的头文件.HPP,通过生成被调用类的对象.函数名()来调用即可;
如果函数为全局的:函数在CPP顶部声明和实现的,只include声明和实现的函数的头文件和cpp文件即可,可直接通过函数名调用.
关系到类的继承的函数调用的问题我就不多说了,相信你有这方面的资料.

#9


先在声明另一个.cpp的头函数,在建立一个指向该类的一个指针,通过该指针就可以调用另一个.cpp中函数