- 1
- 2
Классы в 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++ для прототипа функции конструктора. Когда вы записываете прототип конструктора, вы должны следовать правилам, приведенным ниже:
• Каждое объявление класса должно включать прототип функции конструктора.
• Имя функции конструктора должно совпадать с именем класса, а после него должны следовать круглые скобки (). Если, например, вы объявляете класс с именем Rectangle, он должен включать объявление функции конструктора класса: Rectangle (). Следовательно, объявление класса Rectangle должно
- 1
- 2
Похожие работы
Тема: Классы в C++ |
Предмет/Тип: Информатика, ВТ, телекоммуникации (Статья) |
Тема: Производные классы в C++ |
Предмет/Тип: Другое (Реферат) |
Тема: Социальные классы |
Предмет/Тип: Социология (Реферат) |
Тема: Классы и страты |
Предмет/Тип: Социология (Реферат) |
Тема: Введение в C#: классы |
Предмет/Тип: Информатика, ВТ, телекоммуникации (Реферат) |
Интересная статья: Основы написания курсовой работы