A. Fig Lee wrote:Один из главных пойнов С++ - наследование, полиморфизм и так далее.
Уже давно "гром" спора отгремел, но перечитывая дискуссию, на натолкнулся на это, задевшее за живое утверждение, и не удержался от вставки своих 2с.
"и так далее" содержит в себе то, что делает С++
объектно-ориентированным языком --
инкапсуляция. Иными словами, без наследования и связанного с ним полиморфизма язык будет странным (по сегодняшним меркам), но достаточно usable ибо будет предоставлять механизм создания новых типов данных. Весьма ограниченный механизм, надо заметить, но ... очень полезный и широко применимый.
Для примера представьте хотя бы нечто вроде auto_ptr, но для специфического случая работы с неким ресурсом, тем же FILE например, который нужно не удалять, а говорить ему fclose(). С++ код использующий такой wrapper будет намного более читабельным, файл будет гарантированно закрыт, а компилятор позаботится о том, чтобы в памяти он не занял больше места чем изначальный FILE. Пример конечно притянут за уши, но, я надеюсь, что мысль понятна.