Объектно-ориентированное программирование (ООП), в отличие от модульного, дает новый подход к разработке программного обеспечения для решения разнообразных задач. Фундаментальная концепция ООП состоит в передаче сообщений объектам. В языке С++ существует два способа передачи сообщений: первый состоит в передаче сообщений непосредственно объектам (прямой доступ), второй – в передаче сообщений через указатели на эти объекты (косвенный доступ).