Класс является абстрактным типом данных определяемым пользователем и представляющей собой модели реального объекта в виде данных и функций для работы с ними.
При определении классов не происходит реального выделения памяти под объекты этого класса, а создаются лишь новые производные типы данных, для которых будут использоваться функции-члены класса.
Для того, чтобы начать работу с реальными объектами какого-либо класса, эти объекты необходимо сначала определить. При этом в программе необходимо указать имя класса, объект которого должен быть создан, а также имя самого объекта. У каждого из классов может быть произвольное число объектов. Например, пусть в программе определен класс динамического списка List.
class List { // Класс "Список"
char *ListHead; // Начало списка
char *Previous, *Next; // Двусвязность
long ElementAccount; // Текущие списковые
int ElementSize; // характеристики
long CurrentElement; // Номер текущего эл-та
protected:
char *CurrentElementPointer; // Адрес текущего эл-та
public:
int InsertToList( char * ); // Включение элемента
char* SelectFrom ( int ); // Выделение элемента
// Другие методы
};
Определить функции-члены класса можно внутри описания класса или за его пределами. В первом случае функция считаетсявстраиваемой. Встраиваемая функция характерна тем, что компилятор С++, обрабатывая вызовы этой функции в программе, заменяет их не на вызов функции как подпрограммы, а непосредственно на объектный код, соответствующий определению этой функции. Вследствие сказанного, программист должен принимать во внимание, что встраиваемые функции, как правило, имеют короткие определения.
Для определения функции-члена класса за пределами описания класса необходимо определить ее где-либо в программе после определения класса, членом которого она является.