Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Множественное наследование

Множественное наследование создает больше проблем, чем решает их. Интерфейсы в виде абстрактных базовых классов в C++ пример благоразумного использования множественного наследования.

Часто вам нужна композиция, когда вы думаете, что вам нужно множественное наследование.

В Java были введены интерфейсы, чтобы заменить множественное наследование.

В C++ можно унаследовать интерфейс и имплементацию вместе (public inheritance) либо можно унаследовать только имплементацию (private inheritance). В Java можно унаследовать только итерфейс без имплементации.

Абстрактные классы

Определение абстрактного класса в стандарте C++, 13.4.2:

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