Объектно-ориентированное программирование



         

Объектно-ориентированное программирование - стр. 79


Обращение к ней обязательно пред использованием буфера.

Ближайшим родственником класса является структура. Если структуру поделить механизмом наследования, то она станет классом. Механизм наследования позволяет вновь создаваемым классами данных наследовать свойства уже существующих классов. Именно  способность передавать и получать свои свойства по наследству отличает класс от структуры. Синтаксически класс описывается также, как и структура: сначала идет ключевое слово class, затем имя класса, затем, в фигурных скобках, члены класса- данные или функции. Все, что сказано о структурах, справедливо и для классов. Прежде чем пользоваться механизмом наследования, преобразуем уже имеющуюся у нас структуру _3d в класс:

class _3d{

 public:

 double x,y,z;

double mod();

};

double _3d::mod(){return(sqrt(x*x+y*y+z*z));};

Здесь описан класс с именем 3_d. Ключевое слово public означает, что нижеследующие члены класса общедоступны. Далее описаны три действительных числа, задающих координаты вектора. Обращение к членам класса осуществляется так же, как и к членам структуры, через точку.

Для классов применяется несколько другая терминология. Если раньше (в СИ) говорили о переменной данного типа, то теперь мы будем говорить об объекте данного класса, а функции- члены класса- будем называть методами данного класса.

2.4. Конструкторы и деструкторы

 

Создание объекта некоторого класса может быть достаточно сложной процедурой. Поэтому в С++ предусмотрены возможности явного описания процедур создания и уничтожения объектов данного класса. Процедуры создания объектов называются- конструкторами, а уничтожения- деструкторами. Конструкторы автоматически вызываются при описании объекта, а деструкторы- при выходе из блока, в котором этот объект был описан. Конструкторы в С++ имеют имена, совпадающие с именем класса, а различаются между собой аргументами. Деструктор может быть только один и имеет имя, совпадающее с именем класса, которому предшествует символ “~”.


Содержание  Назад  Вперед