nnpc.net
当前位置:首页 >> C++ 怎么定义一个全局函数,能够在一个工程的所有... >>

C++ 怎么定义一个全局函数,能够在一个工程的所有...

在log.h中只写函数的声明另外建立一个log.cpp的文件,把函数的实现都移到这个cpp文件中去就可以了.全局函数就是可以被其他文件中函数调用,比如一个大型程序,由很多人来共同编写,每个人写的程序为一个文件,全局函数就可以被另一个文件中的程序调用,声明函数时不管写没写extern都默认为全局函数,如果不想被其他人调用,可以用static来定义,就只能被本文件程序调用全局函数是定义在类外的函数,成员函数就是定义在类中的函数.

这个标准的做法是先做一个.h文件(如my_ext.h),在.h中声明一个全局的外部变量externofstreammy_ofstream;然后在一个.cpp中定义它(如my_ext.cpp)ofstreammy_ofstream;最后在你要用的.cpp中,include自己写的头文件,并将my_ext.cpp加入你的工程这样就可以了如果你要像系统的函数或变量一样,所有的.cpp都能使用,只要加个include那你就需要做一个静态库了(各个编译器的方法各不相同)

如果是 外部变量 那要声明一下 这个变量. 如int a定义在test1.cpp中 但是要在test2.cpp fun函数体内修改 那么要在test2.cpp文件fun函数前面这样声明: extern int a; 这样 就可以在fun函数内修改这个变量了; 另外含static 关键字的全局静态变量 只有在那个模块cpp中被修改.

每包含一次头文件,就相当于该变量被声明了一次,所以出现变量重复定义的错误你可以把这个变量定义在cpp文件中,其它文件要引用时,加上extern声明一下就可以了比如,你在test1.cpp中声明了一个变量int gnStep = 1;在test2.cpp中这样使用:extern int gnStep;void func(){ gnStep++;}

你的意思应该是定义一个全局变量,然后在函数中使用该全局变量.简单示例如下:#include <stdio.h>#include <stdlib.h> int a = 0; void fun(int var) { var ++; printf("%d\n",var); } int main() { fun(a); return EXIT_SUCCESS; }

比方说在类外定义一个变量a,然后在类内构造函数需要把a赋值为100就要这样写 ::a=100; ,对象一个道理

全局变量嘛,在其中一个定义,其他cpp在使用前都声明一下,如果是vc++就更好办,在stdafx.h中声明一下,在其中一个cpp定义就行了

ofstream是C++语言已定义的,表示以输出方式打开文件你把那个ofstream对象改名为其他字母吧

定义一个类,再申明这个类的全局变量,就是一个全局实例.给你举例如下:定义一个cTest类Class cTest { public: …… protected: ……};然后在申明全局变量的地方,也就是各函数的外面,申明一个cTest的变量:cTest myTest;myTest就是个全局的实例 你提到的aClass *oneClass;oneClass是一个指针,与new aClass();的返回值类型不配.

放到任何一个类的外部就行.. 在用的时候用(extern 变量类型 变量名) 声明一下.. 全局变量自动初始化成0;

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.nnpc.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com