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