头文件里定义某个变量或者类

问题描述

头文件里定义某个变量或者类

如果没包含这个头文件而又用的到了这个头文件里定义的东西,可以吗?

解决方案

个人认为,头文件中大多都是声明,很少有定义的。如果在头文件中做了定义,很容易引起重复定义的(模板这里不提)。
如果你要使用的一个类或变量在当前文件中没有声明或定义,是需要include其所在的头文件的。
在使用中,有时候你或许会发现,哎,我能使用这个类(这个类是在其他文件中声明定义的),可是我没有include它的头文件啊!
这种情况应该是,你include的另外的头文件中include了那个类的头文件(有点拗口),意思就是像传送带一样,从其他头文件中传送过来了。

时间: 2016-10-17

头文件里定义某个变量或者类的相关文章

c++-在头文件里定义一个string name; 变量,编译报错

问题描述 在头文件里定义一个string name: 变量,编译报错 //Parent.h class Parent { public: Parent(void); ~Parent(void); private: string name; }; //main.cpp #include #include #include "Parent.h" using namespace std; void main() { system("pause"); } //Parent.

c++-我在头文件里声明一个变量,然后在Cpp里赋值,怎么不行呢?

问题描述 我在头文件里声明一个变量,然后在Cpp里赋值,怎么不行呢? 我的mfc程序里自定义了一个头文件,里面声明一个变量比如 int a和声明一个函数Init(): 然后自定义一个cpp,里面实现函数Init().在函数体里面给a赋值:a=6: 然后在另一个dialog cpp里TRACE这个值试试,结果说: fatal error LNK1169: 找到一个或多个多重定义的符号,已经在...obj中定义过.反正编辑时不报错,编译链接时报错.怎么回事? 我有很多变量,我希望有一个Init函数,

电子商务网站及类目头文件的定义

现在的公司是从事电子商务网站.年前公司的网站需要重新定义头文件,所以花了两天时间去收集.归类和整理相关title,keywords和description.这里把操作过程中的一些经验写出来和大家分享下. 对头文件内容部分结构的定义 公司网站是主营高端化妆品的电子商务网站,在关键字上竞争是相当激烈.因为目前主要是做百度搜索权重推广,所以选取了主推关键字百度自然排名前几名的网站进行了相关信息的归类和分析   从上面的结构分析后,对自己网站头文件的定义有了较为清晰的定位.当然排名好并不意味着是头文件写

第一次跟着老师做项目但是看到有些代码里的类不知道什么意思但又不知道在哪个头文件里,该怎么去找

问题描述 第一次跟着老师做项目但是看到有些代码里的类不知道什么意思但又不知道在哪个头文件里,该怎么去找 第一次跟着老师做项目但是看到有些代码里的类不知道什么意思但又不知道在哪个头文件里,该怎么去找这个类的头文件 解决方案 推荐 几个工具 ctags gtags 都可帮助你在一堆源码中找东西 解决方案二: ctrl + 鼠标左键 解决方案三: F12找到定义,或者ctrl+f默认当前文档查询,alt+F12查询范围很大 解决方案四: ctrl + 鼠标左键找到内容 解决方案五: ctrl+r 或者

头文件不宜定义变量的原因全面解析_C 语言

test-1.0使用#ifndef只是防止了头文件被重复包含(其实本例中只有一个头件,不会存在重复包含的问题),但是无法防止变量被重复定义. 复制代码 代码如下: # vi test.c-------------------------------#include <stdio.h>#include "test.h" extern i;extern void test1();extern void test2(); int main(){   test1();   prin

gcc-.h文件里定义了一个类,怎么链接到so文件里?

问题描述 .h文件里定义了一个类,怎么链接到so文件里? A.h里定义了class B C.cpp里include A.h并且引用了B类,声明B类B b: G++ C.cpp -o X.so 为什么用JNI调用X.so运行时,错误提示找不到B类? 解决方案 先用nm等查看一下是否有导出类B来,通过JNI,一般最好是调用导出的函数,直接调用导出类,跨语言不容易处理 解决方案二: gcc hello.c-I../include -fPIC -shared -o libhello.so 很明显,"G+

嵌入式软件-比较大的项目中,头文件中声明的变量和函数一般不太好确定前面是不是要加extern把

问题描述 比较大的项目中,头文件中声明的变量和函数一般不太好确定前面是不是要加extern把 比如这个.h文件中他用了一个ifdef,这个只是一个类似一个标志吧,任何程序里面都可以这样用吗,这是比较好的方式吗 解决方案 这是查看宏定义,判断是否define了这个宏.然后决定后面的各种定义.以endif结尾 解决方案二: ifdef你可以看做if..extern表示你函数定义在别的文件里.这里应该是为了防止冲突,通过宏值,决定是否是用本类中的该函数还是其他文件的相同命名的函数(起函数功能可能有所区

方法-C语言头文件里放声明,其实现放哪?

问题描述 C语言头文件里放声明,其实现放哪? 我写了一个头文件a.h,实现在a.c中,主文件中#include "a.h",报错...我想知道头文件的声明和定义的规范使用方法..谢谢.. 解决方案 首先搞清楚,include和头文件的关系. include的作用是将这个文件的内容插入到include所在的位置,从而构成一个完整的源代码文件被编译. 那么头文件是什么,实际上头文件里可以放任何东西,源代码文件也可以放任何东西,include也可以随意包含. 只是看这三者放在一起,经过替换,

windowssocket编程-请问ICMP_ECHO是系统预定义的吗,包含在哪个头文件里呢?

问题描述 请问ICMP_ECHO是系统预定义的吗,包含在哪个头文件里呢? 在编写一个ping程序时,填充ICMP包的内容,要将类型设置为ICMP响应包,即icmp_hdr->i_type =ICMP_ECHO; 但是IDE提示未定义的标识符ICMP_ECHO未定义,这是怎么回事呢 解决方案 知道了,,,,翻到了另一个人的代码,原来要自己定义, #define ICMP_ECHO 8 解决方案二: 自挽,,,,此贴终结