定义:是指为变量分配内存空间。
C++要求所有实体在任何翻译单元内必须有且只有一个定义。
初始化:是指为一个变量赋初值。
初始化可以和定义一起进行,如 int a = 10; ,也可以先定义变量,之后再初始化。
声明:是指告诉编译器变量的类型与细节,如声明一个类
声明可以是定义,也可以不是,取决于编译器的实现;
如main函数中的 int a; 是声明也是定义,因为编译器会分配内存空间并赋一个废值
而类声明里的 int a; 仅仅是声明,而不是定义,因为此时不会分配内存