1. Инкапсуляция — публичные и приватные члены класса
2. Наследование — реализация функционала за счет расширения одного класса-предка, защищенные члены класса.
3. Полиморфизм — виртуальные методы класса-предка.
Но еще [в 1986 году была обозначена серьезнейшая проблема][4], кратко формулируемая так: