Компилятор C++ Builder динамические библиотеки типизированные константы Условная операция Переменные в С Демонстрация работы Препроцессорная обработка Псевдопеременные Инспектор отладки Стек вызовов Операция присваивания Флаги управления

Объектно-ориентированное программирование и язык C++

В этой части мы будем изучать объектно-ориентированное программирование на C++. Конечно, C++ не единственный язык, работающий с классами и объектами. Есть Object Pascal, есть Java, есть и более старые языки вроде Smalltalk. Поэтому, наверное, имеет смысл поговорить и об общих принципах организации подобных языков.

Помимо общих принципов объектной архитектуры и классов языка C++ мы поговорим о таких вещах, как стандартные потоки, исключения, шаблоны и RTTI. К концу этой части книги вы узнаете практически все о стандартном ANSI C++, и в части III мы перейдем к изучению средств визуального программирования C++Builder.

Модифицированный С

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

Отличия C++ от ANSI С

Есть несколько случаев, когда написанный на С код оказывается не корректным, если его компилировать в режиме C++.

Указатели типа void*

В языке С значение типа void* можно непосредственно присваивать переменной-указателю любого типа, без каких-либо приведений. В C++ это не допускается. Другими словами, код вроде

SomeStruct *sPtr;

void AllocBuffer(int n)

{

sPtr = malloc(n * sizeof(SomeStruct));

}

вызовет ошибку в C++. Необходимо явное приведение типа указателя:

sPtr = (SomeStruct *)malloc(n * sizeof(SomeStruct));

Ловушка (hook) - это механизм, который позволяет производить мониторинг сообщений системы и обрабатывать их до того как они достигнут целевой оконной процедуры.

BIOS видеоадаптеровАдресное пространство памяти ПК Препроцессор и особенности компилятора Отладка программ