extern int i; //声明i而非定义i
int j; //声明并定义j;
extern double pi = 3.14; //定义(包含显式初始化的声明即为定义)
//在函数体内,如果试图初始化一个由extern标记的变量,将引发错误
//变量只能被定义一次,可被声明多次
头文件
//头文件 类的定义,外部变量的声明,函数的声明,只能写声明不能写定义(类的定义和const常量定义除外)
extern double fi;
extern int a;
const int b = 99; //const 常量的定义可以写
//头文件不要太大,每个头文件对应一个源文件。
//预处理:把头文件复制到源文件中,去掉#include<.h>,进行预处理
//头文件保护符,防止多重包含:
#ifndef __D__ // 预处理器变量,与头文件名字相同且大写,每个头文件都需要
#define __D__
#endif
//函数的分文件编写,4个步骤:
//1.创建.h的头文件;2.创建.cpp的源文件;3.在头文件中写函数的声明;4.在源文件中写函数的定义
//3.函数只要把头文件包含进来就可以了
#include<iostream>
#include<string>
#include"swap.h"
using namespace std;
int main(){
swap(3,4);
return 0;
}
//1.swap.h 头文件
//函数的声明
#include<iostream>
using namespace std;
void swap(int a, int b);
//2.swap.cpp源文件
//函数的定义
#include"swap.h"
void swap(int a, int b){
int t = a;
a = b;
b = t;
cout << a << endl;
}