extern关键字总结
来源:互联网 发布:js导航代码 编辑:程序博客网 时间:2024/05/19 01:31
关于extern关键字总结:
1.extern的变量的原先定义的地方不能有static修饰
2.如果声明是const int,那么extern也必须是extern const int
3.两个.cpp文件不能定义同一个变量名
4.头文件基本可以说是不能定义变量的,否则只要有多个cpp文件包含了该头文件,就一定出错,同理也基本不能定义普通函数
5.发现了一个很坑的地方,每个文件内部都可以定义一次同一个类以及成员函数,但是成员函数必须要包括在类的声明里面,而不能拿出来定义,这样的话c++就很不仗义了呀,更坑的是还允许至多一个文件把成员函数定义到类的声明外面。
/************************************************************************* > File Name: a.cpp > Author: > Mail: > Created Time: Sat 29 Apr 2017 04:36:18 PM CST ************************************************************************/#include "a.h"class C {public: C(int c); void test();private: int c;};C::C(int c) { this->c = c;}void C::test() { c+=2;}void test();//int c;int main() { test(); cout << d << endl; return 0;}
/************************************************************************* > File Name: a.h > Author: > Mail: > Created Time: Sat 29 Apr 2017 05:05:02 PM CST ************************************************************************/#ifndef _A_H#define _A_H#include <iostream>using namespace std;extern const int d;extern int c;inline int test2() { //cout << c << endl;}/*int test2() { cout << c << endl; //和下面同理}*///int c; //如果有这样的语句,且头文件被多个不同的文件包含,就必定出错#endif
/************************************************************************* > File Name: b.cpp > Author: > Mail: > Created Time: Sat 29 Apr 2017 04:37:40 PM CST ************************************************************************/#include "a.h"#include <iostream>using namespace std;int c = 12345;class C { C(int c) { this->c = c; } void test() { c++; }private: int c;};/*C::C(int c) { //如果这个文件也在这儿定义就会发成错误了 this->c = c;}*/const int d = 10;void test() { cout << c << endl;}
#Makefilea : a.o b.o g++ a.o b.o -o aa.o : a.cpp a.h g++ a.cpp -cb.o : b.cpp a.h g++ b.cpp -cclean : rm a.o b.o a
0 0
- extern关键字总结
- extern关键字使用方法总结
- extern关键字总结
- C++extern关键字使用总结
- extern “C”总结 C++中的explicit关键字
- Static、Extern、Volatile及Const关键字总结
- static、const和extern关键字作用总结
- Static、Extern、Volatile及Const关键字总结
- Static、Extern、Volatile及Const关键字总结
- C++ "extern c" 关键字(待总结)
- [总结]C++关键字详解——extern
- Extern关键字
- extern 关键字
- extern 关键字
- extern关键字
- extern关键字
- extern关键字
- extern 关键字
- 模板
- unity动态创建文件夹
- 2016年左心房壁分割比赛之LKEB muti-atlas+level set(MICCAI 2016)
- 两种比较好的java的单例实现
- Hyper Thread
- extern关键字总结
- 解决RadioGroup setOnCheckedChangedListener多次调用
- play框架的问题探讨
- linux find命令用法
- Qt语言家使用问题:在语言家翻译了,但程序起来翻译就是不起作用
- 分享一个超强的连接Ubuntu ssh 工具
- #711 – 在拖拽的过程中改变鼠标样式(Changing the Mouse Cursor While Dragging)
- js多图片上传--一次性上传多张
- Array.asList():数组转list时你一定要知道的“陷阱”!