неофициальный форум фкн

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

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

    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++

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

Конфликт имен

  1. возникает при совпадении имён функций/методов классов и т.д.
  2. разрешается прежде всего явным указанием пространства имён - аналогично данному случаю

Множественное наследование разрешение конфликта имён C++ = c++ multiple inheritance name clash

Множественное наследование — потенциальный источник ошибок, которые могут возникнуть из-за наличия одинаковых имен методов в предках.
В языках, которые позиционируются как наследники C++ (Java, C# и др.), от множественного наследования было решено отказаться в пользу интерфейсов.

Pages

Subscribe to RSS - неофициальный форум фкн