Часть полного текста документа:Классы в C++ Одной из основных черт C++, которой нет в С, является концепция классов. По существу, классы - самое важное понятие в C++. Классы похожи на структуры языка С. Однако структура С определяет только данные, ассоциированные с этой структурой. Вот пример структуры С: struct CIRCLE { int radius; int color; {; После того как вы объявили структуру, вы можете использовать ее в пределах вашей функции main (), как показано ниже: void main() CIRCLE MyCircle; ... ... MyCircle.radius = 18; MyCircle.color = 255; // 255 задает цвет ... ... } Со структурой MyCircle (представляющей окружность) ассоциируются данные radius и color (радиус и цвет). Класс в C++, с другой стороны, имеет как ассоциированные с ним данные, так и функции. Данные класса называются элементами данных, а функции класса - элементами-функциями. Следовательно, в программе, которая использует классы, можно написать следующий код: MyCircle.radius = 20; MyCircle.color = 255; MyCircle.DisplayCircle() ; Первые два оператора присваивают значения элементам данных MyCircle radius и color; третий оператор вызывает функцию-элемент DisplayCircle() для вывода окружности MyCircle. MyCircle называется объектом класса circle. Ваша программа может объявить другой объект с именем HerCircle класса circle следующим образом: CIRCLE HerCircle; Следующие операторы присваивают значения элементам данных HerCircle radius и color: HerCircle.radius = 30; HerCircle.color = 0; Затем вы можете использовать функцию-элемент DisplayCircie () для вывода окружности HerCircle: HerCircle.DisplayCircle(); Объявление класса Перед тем как работать с классом, ваша программа должна его объявить (так же как перед работой со структурой mystructure вы должны были объявить ее элементы данных). В данном разделе вы познакомитесь с синтаксисом объявления класса. Вы будете и дальше практиковаться с классом circle: class Circle ( public: Circle () ; void SetRadius(void) ; void GetRadius(void) ; ~Circle () ; private: void CalculateArea(void); int radius; int color; }; Объявление класса имеет следующее строение: class Circle { ... ... Здесь вы вводите объявление класса ... ... }; Ключевое слово class показывает компилятору, что все находящееся в фигурных скобках ({}) принадлежит объявлению класса. (Не забывайте ставить точку с запятой в конце объявления.) Объявление класса содержит объявление элементов данных (например, int radius) и прототипы функций-элементов класса. В объявлении класса circle содержатся следующие элементы данных: int radius; int color; Объявление также содержит пять прототипов функций-элементов: Circle(); void SetRadius(void) ; void GetRadius(void) ; ~Circle () ; void CalculateArea(void); Первый и четвертый прототипы выглядят странно. Первый из них является прототипом функции конструктора: Circle(); Вы узнаете о роли конструктора позже в этом разделе, а пока запомните синтаксис, который используется в C++ для прототипа функции конструктора. ............ |