Шаблоны и наследование C++

Часто бывает полезно создавать шаблоны, производные от другого шаблона. Если члены базового класса зависят от параметров шаблона производного класса, то сам базовый класс должен быть параметризирован. Например:

template <class T> class Vector{…};
template <class T> class Vec: public Vector<T> {…};

читаем подробнее:http://codingrus.ru/readarticle.php?arti...

Тема 8. - Общие основы рекламы.

Тема 8.

Общие основы рекламы.

  • Вопрос1. Реклама. Понятия, функции, виды.
  • Вопрос2. Особенности рекламы в СМИ.

Вопрос 1.

4 элемента маркетинговых коммуникаций.

Шаблон функции

в принципе всё аналогично шаблонам класса - пример:

    template< class T,class T1 > void show_array(T *array,T1 count)

    {
       T1 index;
       for (index =0; index < count; index++) cout << array[index] << ' ';
       cout << endl;
    }

Шаблон класса C++

Шаблон - это предписание для создания класса, в котором один или несколько типов либо значений параметризованы.

Да - вообще полезно прочитать вступление здесь.
То есть шаблон позволяет нам задать описание класса, использующего тип данных, который можно определить "на ходу" 0при создании класса, а не заранее - как при обычном его описании.
Пример:

Отличия интерфейсов от классов Java

  1. Не бывает экземпляров типа интерфейс, то есть экземпляров интерфейсов, реализующих тип интерфейс.
  2. Список элементов интерфейса может включать только методы и константы. Поля данных использовать нельзя.
  3. Элементы интерфейса всегда имеют тип видимости public (в том числе без явного указания). Не разрешено использовать модификаторы видимости кроме public.
  4. В интерфейсах не бывает конструкторов и деструкторов.

Friend-функции, friend-классы C++ - дружественные функции и дружественные классы

Спецификаторы доступа класса позволяют указывать, могут ли функции вне определенного вами класса обращаться к его элементам. Может, однако, случиться, что вам потребуется обеспечить определенной функции или классу доступ к элементам вашего класса, специфицированным как private или protected.

Виртуальные деструкторы C++

цитата:

В языке программирования C++ деструктор полиморфного базового класса должен объявляться виртуальным. Только так обеспечивается корректное разрушение объекта производного класса через указатель на соответствующий базовый класс.

Виртуальные деструкторы необхожимы по следующим соображениям - схематично представим себе такую ситуацию:

Абстрактный класс C++

На языке программирования C++ абстрактный класс объявляется включением хотя бы одной чистой виртуальной функции,типа

virtual _сигнатура_функции_ =0;

, которая, как и другие, может быть заменена.

подробнее = http://ru.wikipedia.org/wiki/%D0%90%D0%B...

Абстрактные методы C++ (или чистые виртуальные методы) -- что это такое

Абстрактный метод (или чистый виртуальный метод (pure virtual method - часто неверно переводится как чисто виртуальный метод)) — в объектно-ориентированном программировании, метод класса, реализация для которого отсутствует.

Виртуальные методы C++

Виртуальный метод (виртуальная функция) — в объектно-ориентированном программировании метод (функция) класса, который может быть переопределён в классах-наследниках так, что конкретная реализация метода для вызова будет определяться во время исполнения.

Pages

Subscribe to fkn+antitotal RSS