Форум программистов, компьютерный форум CyberForum.ru

Отличие объявления, определения и инициализации - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ разбор задачки. системы счисления http://www.cyberforum.ru/cpp-beginners/thread912907.html
перевод числа из произвольной системы в десятичную..сам код программы не мой.. дали для примера чтоб свои части программы делали в этой же проге. но запускаю данную допустим для числа E8.2 14cc и выдает ошибку- некорректный ввод данных.а для D8.2 например, решается. Как понимаю что ктото неправильно значения для них выставил,E считается как 15 или строго больше 14 а не равно 14 как должно быть в...
C++ для данного натурального n и действительного x подсчитать следующие суммы для данного натурального n и действительного x подсчитать следующие суммы S=cos1-cos2+cos-...+(-1)^n+1cosn http://www.cyberforum.ru/cpp-beginners/thread912900.html
Вывести на экран числа ввиде следующей таблицы C++
Вывести на экран числа ввиде следующей таблицы 6 6 6 6 6 7 7 7 7 8 8 8 9 9 10
C++ рассчет пенсии
Доброго времени суток! Помогите пожалуйста с написанием программы. Идея такая что женщинам которым меньше 40, зарплата 200 лат мужчинам которым меньше 25 , 400 лат мужчинам от 25 до 39, 200 лат остальным которым 40 и больше, 300 лат.
C++ Создание программы для сортировки случайного массива чисел http://www.cyberforum.ru/cpp-beginners/thread912877.html
Здравствуйте, пишу курсовую работу, по заданию требуется написать программу, в которой пользователь задает размер строк и столбцов массива одним числом, тоесть 2=2 строки*2 столбца, 10=10 строк*10 столбцов, программа генерирует случайный массив и потом сортирует его строки от меньшего числа к большему. в итоге должно получится программа: пользователь ввел число, программа сгененрировала массив,...
C++ __property Видел __property в C++ Builder и в C#.Используется в классе вот так: __property int IntegerValue = {read = GetValue,write = SetValue}; Как использовать это в C++? подробнее

Показать сообщение отдельно
Catstail
Модератор
 Аватар для Catstail
21500 / 10253 / 1669
Регистрация: 12.02.2012
Сообщений: 17,139
27.06.2013, 16:47     Отличие объявления, определения и инициализации
В C++ есть такие понятия:

1) объявление (декларация)
2) определение (дефиниция)

Пояснить что есть что, проще всего на примере функций:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int F1(int a);
{
    int i,j;
    ...
    j=F2(i);
 
    return ...
}
 
int F2 (int x)
{
 ...
}

Этот код не скомпилируется, т.к. в момент компиляции F1 компилятор ничего не знает про F2.
Чтобы код скомпилировался, функцию F2 нужно предварительно объявить (декларировать):

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int F2(int);  // Декларация F2
 
int F1(int a);
{
    int i,j;
    ...
    j=F2(i);
 
    return ...
}
 
int F2 (int x)  // Дефиниция F2 (определение)
{
 ...
}
Другой вариант: разместить определение F2 перед F1:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int F2 (int x)  // Дефиниция F2 (определение)
{
 ...
}
 
int F1(int a);
{
    int i,j;
    ...
    j=F2(i);
 
    return ...
}
Теперь декларация не нужна (поскольку всякая дефиниция является одновременно и декларацией).

Ну, а инициализация - это присвоение объекту или переменной некоего значения в момент создания.
 
Текущее время: 04:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru