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



Pdf көрінісі
бет122/252
Дата06.01.2022
өлшемі12,25 Mb.
#11940
1   ...   118   119   120   121   122   123   124   125   ...   252
Чтобы  избегать  нарушений  кода:  Когда  код  вне  класса  взаимодействует 
только  с  публичными  функциями-членами  этого  класса  (публичный 
интерфейс  класса),  то  внутреннее  управление  состоянием  может  свободно 
меняться,  без  каких-либо  нарушений  вызываемого  кода.  Таким  образом, 
если  внутренние  элементы  данных  объекта  меняются  по  какой-либо 
причине, весь код использующий объект будет оставаться в порядке, пока в 
порядке остаются функции-члены.       
Итак, как же мы можем не допустить, чтоб программист делал что то неправильно 
и    имел  доступ  к  элементам  данных  напрямую?  Тут  С++  вводит  концепцию 
модификаторов  доступа,  чтобы  предотвратить  доступ  к  внутренним  данным 
объекта.  
Это  как  мы  используем  модификаторы  доступа,  чтобы  запретить  доступ  к 
определённым секциям объекта struct Player извне.  
Первое, что вам понадобится сделать, это решить какие секции определения struct 
вы хотите, чтобы были доступными снаружи класса. Эти секции будут отмечены как 
public.  Все  другие  области,  которые  будут  недоступны  за  пределами  struct,  будут 
отмечены как private.  
 


113 | 
С т р а н и ц а
 
 
struct Player 
{  
private:    // 
начинается частная секция... к ней нет доступа 
// 
снаружи класса, до… 
string name; 
int hp; 
int armorClass; 
public
: // …до СЮДА. Так начинается публичная секция 
// 
Эта функция-член доступна снаружи struct
// 
потому что она в секции отмеченной как public: 
void damage( int amount ) 

int reduction = amount 
– armorClass; 
if( reduction < 0 ) // 
убедитесь что не отрицательное! 
reduction = 0; 
hp -= reduction; 

}; 


Достарыңызбен бөлісу:
1   ...   118   119   120   121   122   123   124   125   ...   252




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

    Басты бет