Объект - производный класс - Большая Энциклопедия Нефти и Газа, статья, страница 3
Оригинальность - это искусство скрывать свои источники. Законы Мерфи (еще...)

Объект - производный класс

Cтраница 3


Как ни удобно иногда манипулировать объектами производного класса как объектами базового, причем делать это с помощью указателей базового класса, тут существует одна проблема. Например, в системе для платежных ведомостей было бы желательно обрабатывать связанный список сотрудников и рассчитывать еженедельную заработную плату для каждого персонально. Нам нужен метод активации нужной процедуры расчета для каждого объекта, вне зависимости от того, является ли он объектом базового или производного класса, причем делать это просто с помощью указателя базового класса.  [31]

Как вызвать функцию базового класса из объекта производного класса, если в производном классе эта функция была замешена.  [32]

Как вызвать функцию базового класса из объекта производного класса, если в производном классе эта функция не была замещена.  [33]

Как вызвать функцию базового класса из объекта производного класса, если в производном классе эта функция была замещена.  [34]

Как вызвать функцию базового класса из объекта производного класса, если в производном классе эта функция не была замещена.  [35]

36 Определение класса Point ( часть 1 из 5. [36]

Но обратное неверно: объекты базового класса не являются автоматически объектами производного класса.  [37]

Поскольку производный класс наследует элементы базового класса, то при создании объекта производного класса должен быть вызван конструктор базового класса для задания начальных значений элементам базового класса, содержащимся в объекте производного класса. В конструкторе производного класса при явном вызове конструктора базового класса может быть предусмотрен список инициализаторов элементов; в противном случае конструктор производного класса будет неявно вызывать конструктор базового класса с умолчанием.  [38]

Ссылка на объект производного класса с помощью указателя базового класса безопасна, так как объект производного класса является также и объектом базового. Программа может ссылаться только на элементы базового класса. В случае, когда программа ссылается на элементы, наличные только в производном классе, с помощью указателя базового класса, компилятор сообщит о синтаксической ошибке.  [39]

40 Иерархия на основе абстрактного базового класса Employee ( часть 11 из 12.| Иерархия на основе абстрактного базового класса Employee ( часть 12 из 12. [40]

Поскольку функция print объявлена в базовом классе как виртуальная, система вызывает функцию print объекта производного класса, как и положено при полиморфном поведении. Это обращение к функции является примером динамического связывания: функция вызывается через указатель базового класса, поэтому выбор того, какую функцию вызвать, откладывается до времени выполнения программы.  [41]

Поскольку функция earnings объявлена в базовом классе как виртуальная, система вызывает функцию earnings объекта производного класса.  [42]

Если в программе создан указатель на объекты базового класса Horse и ему присвоен адрес объекта производного класса Pegasus, то такой указатель можно использовать полиморфно.  [43]

Ссылка на объект производного класса с помощью указателя базового класса не опасна, потому что объект производного класса является также и объектом своего базового класса. Если производится ссылка с помощью указателя базового класса на элементы, имеющиеся только в объектах производного класса, компилятор сообщит о синтаксической ошибке.  [44]

Несмотря на то, что объект производного класса также является и объектом базового, типы объектов производного класса и базового класса различны.  [45]



Страницы:      1    2    3    4