例如,我的main函数在 run.cpp里, 而我有一个函数 say_hello()在hello.cpp里,如何在main里调用这个hello.cpp?
16 个解决方案
#1
要么把say_hello放到一个头文件里,要么在run.cpp里加上extern say_hello();
#2
生明为友元函数,或都声明类对象,调用成功函数
#3
run.cpp里肯定要是包含hello.cpp文件的
用extern只是告诉编译器这个是外部的,到其它文件去找
#4
此为套路:
// file foo.h
# ifndef _FOO_H_
# define _FOO_H_
extern void sayHello();
# endif // _FOO_H_
// file foo.cpp
# include "foo.h"
# include <iostream>
using namespace std;
void sayHello()
{
// say your hello
}
// file main.cpp
# include "foo.h"
int main()
{
sayHello();
return 0;
}
#5
很简单,现场编一个给你看看~
在hello.cpp里:
#include "hello.h" // 记住这个很重要~是你自己编写的~
void hello::say_hello(){。。。。。}
在hello.h里:
calss hello{void say_hello();}
在run.cpp里:
#include "hello.h" //这里再加一次;或者在run.h中实现
int main()
{hello a; //记住这里得申请一下
a.say_hello(); //然后再调用即可~
。。。。。。。。。。。
}
在hello.cpp里:
#include "hello.h" // 记住这个很重要~是你自己编写的~
void hello::say_hello(){。。。。。}
在hello.h里:
calss hello{void say_hello();}
在run.cpp里:
#include "hello.h" //这里再加一次;或者在run.h中实现
int main()
{hello a; //记住这里得申请一下
a.say_hello(); //然后再调用即可~
。。。。。。。。。。。
}
#6
#include <xxx.cpp>
extern func();
extern func();
#7
建一个头文件hello.h,并且在头文件中声明say_hello()
在hello.cpp和run.cpp中包含头文件hello.h
在hello.cpp和run.cpp中包含头文件hello.h
#8
#include "hello.cpp"
这样应该可以的,哈哈
..........
别学,这是非常不专业的做法。
这样应该可以的,哈哈
..........
别学,这是非常不专业的做法。
#9
用头文件是最好的方法,也避免重复等
#10
include一下头文件就好了。。。可以直接声明对象调用方法了。。。
#11
C++ primer plus 看文件的链接性,整体上都看一下,你问的问题只是其中的一个
#12
只要包含头文件就可以调用了。其实不用头件,声明一下这个函数就可以直接用了。
#13
取巧的方式用命名空间也可以,不过还是用头文件吧,将函数的声明放在头文件中,定义在hello.cpp中,这是常用方法
#14
其实也可以直接#include "hello.cpp"
#15
学习!
#16
请问如果只是单纯运行主函数的话而不是加在项目里面的话,怎么把hello.c链接给main.c,从而使主函数能够识别调用的say_hello函数已经在hello.c中定义过了?新手求教
#1
要么把say_hello放到一个头文件里,要么在run.cpp里加上extern say_hello();
#2
生明为友元函数,或都声明类对象,调用成功函数
#3
run.cpp里肯定要是包含hello.cpp文件的
用extern只是告诉编译器这个是外部的,到其它文件去找
#4
此为套路:
// file foo.h
# ifndef _FOO_H_
# define _FOO_H_
extern void sayHello();
# endif // _FOO_H_
// file foo.cpp
# include "foo.h"
# include <iostream>
using namespace std;
void sayHello()
{
// say your hello
}
// file main.cpp
# include "foo.h"
int main()
{
sayHello();
return 0;
}
#5
很简单,现场编一个给你看看~
在hello.cpp里:
#include "hello.h" // 记住这个很重要~是你自己编写的~
void hello::say_hello(){。。。。。}
在hello.h里:
calss hello{void say_hello();}
在run.cpp里:
#include "hello.h" //这里再加一次;或者在run.h中实现
int main()
{hello a; //记住这里得申请一下
a.say_hello(); //然后再调用即可~
。。。。。。。。。。。
}
在hello.cpp里:
#include "hello.h" // 记住这个很重要~是你自己编写的~
void hello::say_hello(){。。。。。}
在hello.h里:
calss hello{void say_hello();}
在run.cpp里:
#include "hello.h" //这里再加一次;或者在run.h中实现
int main()
{hello a; //记住这里得申请一下
a.say_hello(); //然后再调用即可~
。。。。。。。。。。。
}
#6
#include <xxx.cpp>
extern func();
extern func();
#7
建一个头文件hello.h,并且在头文件中声明say_hello()
在hello.cpp和run.cpp中包含头文件hello.h
在hello.cpp和run.cpp中包含头文件hello.h
#8
#include "hello.cpp"
这样应该可以的,哈哈
..........
别学,这是非常不专业的做法。
这样应该可以的,哈哈
..........
别学,这是非常不专业的做法。
#9
用头文件是最好的方法,也避免重复等
#10
include一下头文件就好了。。。可以直接声明对象调用方法了。。。
#11
C++ primer plus 看文件的链接性,整体上都看一下,你问的问题只是其中的一个
#12
只要包含头文件就可以调用了。其实不用头件,声明一下这个函数就可以直接用了。
#13
取巧的方式用命名空间也可以,不过还是用头文件吧,将函数的声明放在头文件中,定义在hello.cpp中,这是常用方法
#14
其实也可以直接#include "hello.cpp"
#15
学习!
#16
请问如果只是单纯运行主函数的话而不是加在项目里面的话,怎么把hello.c链接给main.c,从而使主函数能够识别调用的say_hello函数已经在hello.c中定义过了?新手求教