R
Справочное
руководство по С++
R.18.1.2 Возможности, добавленные в С++ после 1985 г.
Здесь перечисляются основные расширения С++ после 1985 г.:
- Класс может иметь более одного прямого базового класса
(множественное наследование); $$R.10.1.
- Члены класса могут быть защищенными; $$R.11.
- Операции new и delete можно описывать в классе и перегружать;
$$R.5.3.3, $$R.5.3.4, $$R.12.5. Это позволило определенный способ
управления памятью для класса с помощью "присваивания указателю
this" отнести в раздел анахронизмов; $$R.18.3.3.
- Можно явно уничтожать объекты; $$R.12.4.
- Присваивания и инициализация для класса определены как присваивание и
инициализация по членам; $$R.12.8.
- Служебное слово overload стало излишним и отнесено к разделу
анахронизмов; $$R.18.3.
- Произвольные выражения разрешены в качестве инициализаторов статических
объектов; $$R.8.4.
- Объекты, представляющие данные, могут быть volatile; $$R.7.1.6.
Также и в ANSI C.
- Допустимы инициализаторы для статических членов класса; $$R.9.4.
- Функции-члены могут быть статическими; $$R.9.4.
- Функции-члены могут быть const или volatile; $$R.9.3.1.
- Можно явно указать связывание с подпрограммами на других языках;
$$R.7.4.
- Можно перегружать операции ->, ->* и ` ; $$R.13.4.
- Классы могут быть абстрактными; $$R.10.3.
- Для пользовательских типов префиксные и постфиксные операции
различаются.
- Шаблоны типов; $$R.14.
- Управление особыми ситуациями; $$R.15.