Давате я приведу Вам английскую терминологию. Объявление говорит компилятору, что такое имя или программный элемент существует. Определение описывает данное имя. Любое имя для использования должно быть объявлено.
Вводят одно или больше имен в программу. Объявление служит одновременно и определением за исключением случаев:
- прототип функции
- объявление статического элемента данных в декларации класса
- используется extern
- объявления имени класса без определения (например, class my;)
- используется typedef
Пример объявлений и определений:
int i;
int j = 10;
class CheckBox : public Control
{
public:
Boolean IsChecked();
virtual int ChangeState() = 0;
};
Просто объявление:
extern int i;
char *strchr( const char *Str, const char Target );
Определение - уникальная спецификация объекта или переменной, функции, класса или списка. Поскольку определения должны быть уникальными, программа может содержать только одно определение для данного программного элемента.