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



Pdf көрінісі
бет137/252
Дата06.01.2022
өлшемі12,25 Mb.
#11940
1   ...   133   134   135   136   137   138   139   140   ...   252
Частное наследование 
Мало сказано об особенности С++ частном наследовании. Когда один класс 
происходит от другого класса публично, то это становится известно всему коду, к 
родительскому классу которого он принадлежит. Например:
 
class Cat : public Mammal 
Это означает, что весь этот код будет знать, что Cat это объект от Mammal. И будет 
возможно  указывать  на  экземпляр  Cat*  используя  указатель  базового  класса 
Mammal. Например, следующий код будет действительным: 
Cat cat; 
Mammal* mammalPtr = &cat; // 
Указывает на Cat так если бы он был 
// Mammal 
Этот код хорош, если Cat наследуется от Mammal публично. Частное наследование 
это, когда коду снаружи класса Cat не позволено знать родительский класс: 
class Cat : private Mammal 
Здесь,  внешне  вызываемый  код  не  будет  “знать”,  что  класс  Cat  происходит  от 
класса Mammal. Привидение типов экземпляра Cat к базовому классу Mammal не 
разрешено  компилятором,  когда  наследование  частное  (private).  Используйте 
частное наследование, когда вам нужно скрыть факт того, что определённый класс 
происходит от определённого родительского класса. 
Однако  частное  наследование  редко  применяется  на  практике.  Большинство 
классов используют лишь публичное наследование. Если вы желаете знать больше 
о частном наследовании, посмотрите:  
http://stackoverflow.com/questions/406081/why-should-i-avoid-multiple-inheritance-in-c



Достарыңызбен бөлісу:
1   ...   133   134   135   136   137   138   139   140   ...   252




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

    Басты бет