Чистая виртуальная функция - Большая Энциклопедия Нефти и Газа, статья, страница 1
Первым здоровается тот, у кого слабее нервы. Законы Мерфи (еще...)

Чистая виртуальная функция

Cтраница 1


Чистая виртуальная функция задается с помощью размещения в конце ее прототипа в определении класса.  [1]

Обычно чистые виртуальные функции объявляются в абстрактном базовом классе и не выполняются. Поскольку невозможно создать объект абстрактного базового класса, как правило, нет необходимости и в выполнении чистой виртуальнЬй фут. Класс ADT существует только как объявление интерфейса объектов, создаваемых в производных классах.  [2]

Класс, содержащий чистые виртуальные функции, является ADT. Невозможно создать объект для класса, который является ADT.  [3]

Если класс выведен из класса с чистой виртуальной функцией и не определяет эту функцию, то функция остается чистой и в производном классе.  [4]

Если класс является производным от класса с чистой виртуальной функцией и если эта чистая виртуальная функция не описана в производном классе, тогда функция остается чистой виртуальной и в производном классе. Следовательно, такой производный класс также является абстрактным классом.  [5]

Если класс является производным от класса с чистой виртуальной функцией и если эта чистая виртуальная функция не определена в производном классе, то функция остается чистой виртуальной и в производном классе.  [6]

Если класс является производным от класса с чистой виртуальной функцией и если эта чистая виртуальная функция не описана в производном классе, тогда функция остается чистой виртуальной и в производном классе. Следовательно, такой производный класс также является абстрактным классом.  [7]

Если в программе объявлен класс ADT с тремя чистыми виртуальными функциями, сколько из них нужно заместить в производных классах, чтобы получить возможность создания объектов этих классов.  [8]

Если в классе, базовый класс которого содержит чистую виртуальную функцию, эта, функция не определяется, то она остается чистой и в этом ( производном) классе. Как следствие, производный класс сам является абстрактным классом.  [9]

Если в классе, базовый класс которого содержит чистую виртуальную функцию, эта функция не определяется, то она остается чистой и в этом ( производном) классе. Как следствие, производный класс сам является абстрактным классом.  [10]

Тем не менее все же иногда возникает необходимость выполнения чистой виртуальной функции. Она может быть вызвана из объекта, произведенного от ADT, например чтобы обеспечить общую функциональность для всех замещенных функций. Функция замещается в классе Circle, что необходимо для создания объекта этого класса, но в объявлении замещенной функции делается вызов чистой виртуальной функции из базового класса. Это средство используется для достижения дополнительной функциональности методов класса.  [11]

В этой программе используются связанные списки, виртуальные функции, чистые виртуальные функции, замещения функций, полиморфизм, открытое наследование, перегрузка функций, вечные циклы, указатели, ссылки и многие другие знакомые вам средства. Обратите внимание, что представленный здесь связанный список отличается от рассмотренных ранее. Язык C предоставляет множество способов достижения одной и той же цели.  [12]

Любой класс, произведенный от ADT, унаследует от него чистую виртуальную функцию, которую необходимо будет заместить, чтобы получить возможность создавать объекты этого класса.  [13]

Попытка создать объект абстрактного класса ( т.е. содержащего одну или несколько чистых виртуальных функций) приводит к синтаксической ошибке.  [14]

Обратите внимание, что в строках 40 - 43 определяется выполнение чистой виртуальной функции DisplayO. Предполагается, что метод DisplayO будет замешаться в каждом производном классе, но в определении замещенного варианта допускается просто вызывать стандартный метод из базового класса.  [15]



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