Изучаем С++ создавая игры в ue4 Уилльям Шериф Изучайте программирование С++ с интересным применением реально мира, что позволит вам создавать ваши собственные игры!



Pdf көрінісі
бет96/252
Дата06.01.2022
өлшемі12,25 Mb.
#11940
1   ...   92   93   94   95   96   97   98   99   ...   252
   имя функции 
тело  
функции 


89 | 
С т р а н и ц а
 
 
Образец трассировки программы 
Вот полный пример того как работает вызов функции: 
#include  
using namespace std; 
void printRoad() 

cout << "*   *" << endl; 
cout << "* | *" << endl; 
cout << "* | *" << endl; 
cout << "*   *" << endl; 
}  
int main() 

cout << "
Программа начинается!" << endl; 
printRoad(); 
cout << "
Программа заканчивается" << endl; 
return 0; 
}
  
Давайте  произведём  трассировку  выполнения  программы  от  начала  до  конца. 
Запомните, что для всех программ С++, выполнение начинается на первой строке 
main()
.  
Примечание 
main()
 
также является функцией. Она следит за выполнением всей программы. Как 
только 
main()
 выполняет оператор 
return
,  ваша программа заканчивается. 
Когда достигнута последняя строка функции 
main()
, программа заканчивается. 
Строка за строкой отслеживается выполнение предыдущей программы: 
void printRoad() 

cout << "*   *" << endl;                                             // 3: 
затем мы переходим сюда 
cout << "* | *" << endl;                                             // 4: 
запускаем это 
cout << "* | *" << endl;                                             // 5: 
и это 
cout << "*   *" << endl;                                             // 6: 
и это 
}  
int main() 

cout << "
Программа начинается!" << endl;          // 1: первая строка на выполнение 
printRoad();                                                            // 2: 
вторая строка... 
cout << "
Программа заканчивается" << endl;     // 7: наконец последняя строка 
return 0;                                                                 // 8: 
и возвращение к ОС 

 
 


90 | 
С т р а н и ц а
 
 
Вот как будет выглядеть вывод этой программы: 
Программа начинается! 
*     * 
*  |  * 
*  |  * 
*     * 
Программа заканчивается 
Вот объяснение предыдущего кода, строка за строкой: 
1.  Выполнение  программы  начинается  на  первой  строке 
main()
,  которая 
выводит: “
Программа начинается!
”. 
2.  Следующая выполняемая строка вызывает 
printRoad()
. Она переводит счётчик 
команд на первую строку 
printRoad()
. Затем все строки 
printRoad()
 выполняются 
по порядку (шаги 3-6).  
3.  И  наконец,  после  завершения  вызова 
printRoad()
,  контроль  возвращается  к 
оператору 
main()
. Затем мы видим вывод: “
Программа заканчивается
”.  
Подсказка 
Не  забывайте  круглые  скобки  после  имени  функции 
printRoad()
  при  вызове. 
Вызываемая функция всегда должна сопровождаться круглыми скобками (), иначе 
она не сработает и компилятор выдаст вам ошибку. 
Следующий код применим для вывода четырёх полос дороги: 
int main() 

printRoad(); 
printRoad(); 
printRoad(); 
printRoad(); 

Альтернативно, вы можете использовать следующий код: 
for( int i = 0; i < 4; i++ ) 
printRoad(); 
Так  что  вместо  повторения  четырёх  строк  cout  каждый  раз,  когда  сегмент 
отображён,  мы  просто  вызываем  функцию 
printRoad()
,  чтобы  выполнить  его 
отображение.  Также,  если  мы  хотим  изменить  то  как  выглядит  отображаемая 
дорога, нам просто нужно модифицировать осуществление функции 
printRoad()

Вызов  функции  влечёт  за  собой  запуск  всего  тела  функции,  строка  за  строкой. 
После того как вызов функции завершён, управление программы возобновляется с 
места где была вызвана функция.


Достарыңызбен бөлісу:
1   ...   92   93   94   95   96   97   98   99   ...   252




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет