objective c и с++

оба были разработаны с оглядкой на предка - язык Си

Разница в :

  1. порядке описания конструкций
  2. objective c message-oriented в то время как C++ — function-oriented.
  3. В отличие от языка C++, посылка сообщения является законной операцией, всегда возвращающей нулевое значение (nil) .
  4. Описания же методов заметно отличаются от принятых в C++ и очень сильно похожи на описания методов в языке Smalltalk.
  5. как и в C++, есть возможность управлять видимостью переменных (видимостью методов управлять нельзя) при помощи директив @private, @protected и @public (действующих полностью аналогично языку C++).
  6. Язык Objective-C содержит полноценную поддержку протоколов (в C++ это абстрактный класс, который также иногда принято называть интерфейсом). Протокол представляет собой просто список описаний методов. Объект реализует протокол, если он содержит реализации всех методов, описанных в протоколе.
  7. Обратите внимание, что метод(ы) init является обычным методом, ничем не выделяющимся среди остальных (в отличие от C++, где конструктор — это особый метод, у которого, например, нельзя взять адрес).