在C++中,声明和定义是两个不同的概念。
声明
声明是指在程序中告诉编译器某个符号(如变量、函数、类)的名称和类型,以便在后续代码中使用该符号。
声明只是引入了一个符号的名称和类型,但并不会分配内存空间或执行代码。例如:
extern int i;//声明
int sum(int num1, int num2); // 声明一个函数sum,接受两个整型参数并返回一个整型结果
class Dog; // 声明一个类Dog
template<typename T>
class A;//模板声明
定义
定义是指为某个符号分配内存空间或执行相应的代码。定义会告诉编译器创建一个具体的实体。
例如:
int a = 5; // 定义并初始化一个整型变量a
int sum(int num1, int num2) { // 定义函数sum的具体实现
return num1 + num2;
}
class Dog { // 定义一个类Dog
private:
int age;
string name;
public:
Dog(int age, string name); // 声明并定义构造函数
void bark(); // 声明并定义成员函数
};
特殊情况1