在C++中,声明和定义是不同的概念。
声明(Declaration)是指在程序中引入一个变量、函数或类的名称,告诉编译器它的存在和类型,但并不分配内存空间或实现具体的功能。声明通常是在头文件中完成,以便在其他文件中可以引用。例如:
int add(int a, int b); // 函数声明
extern int x; // 变量声明
class MyClass; // 类声明
定义(Definition)是指为变量分配内存空间,或实现函数或类的具体功能。定义通常在源文件中完成,可以有多个,但只能有一个定义。例如:
int add(int a, int b) { // 函数定义
return a + b;
}
int x = 10; // 变量定义
class MyClass { // 类定义
// 类成员定义
};
总结起来,声明只是告诉编译器某个名称的存在和类型,而定义则是为该名称分配内存空间或实现具体功能。