Реферат по предмету "Программирование"


Классы в C++

Классы в 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
должно выглядеть так:

class Rectangle

{

public:

Rectangle(); // Конструктор

...

...

private:

...

...

};

• Не упоминайте никакого возвращаемого значения для
функции конструктора. (Функция конструктора должна иметь тип void, но не нужно
это указывать.)

• Функция конструктора должна располагаться под
ключевым словом

public.

Функция конструктора всегда возвращает значение типа
void (несмотря на то, что вы не указали его в прототипе). Как вы вскоре
увидите, функция конструктора обычно имеет один или большее число параметров.

Функция деструктора

Функция деструктора записывается в объявлении класса
следующим образом:

class Circle

(

public:

...

...

~Circle (); //Деструктор private:

...

...

};

Обратите внимание на символ тильды (~), который
предшествует прототипу функции деструктора. (На большинстве клавиатур вы можете
найти символ тильды слева от клавиши 1.) При записи прототипа функции
деструктора соблюдайте следующие правила:

• Имя функции деструктора должно совпадать с именем
класса и ему должен предшествовать символ ~. Если, например, вы объявляете
класс с именем Rectangle, именем функции деструктора должно быть ~Rectangle.
Следовательно, объявление класса Rectangle должно выглядеть следующим образом:

class Rectangle

{

public:

Rectangle(); // Конструктор

...

~Rectangle(); // Деструктор private:

...

...

};

• Не указывайте никакого возвращаемого значения для
функции деструктора. (Функция деструктора должна иметь тип void, но не нужно
это указывать.)

• Функция деструктора не имеет никаких параметров.
Ключевые слова public и private

Прототипы функций и объявления элементов данных
включаются в объявлении класса в разделы public (открытый) или private
(закрытый). Ключевые слова public и private говорят компилятору о доступности
элементов-функций и данных. Например, функция SetRadius() определена в разделе
public, и это означает, что любая функция программы может вызвать функцию
SetRadius(). Функция CalculateArea() определена в разделе private, и эту
функцию можно вызвать только в коде функций-элементов класса Circle.

Аналогично, поскольку элемент данных radius объявлен в
разделе private, прямой доступ к нему (для установки или чтения его значения)
возможен только в коде функций-элементов класса Circle. Если бы вы объявили
элемент данных radius в разделе public, то любая функция программы имела бы
доступ (для чтения и присваивания) к элементу данных radius.
Перегруженные функции

В C++ (но не в С) вы можете использовать одно и то же имя
для нескольких функций. Например, вы можете объявить две функции с именем
SetRadius() в объявлении класса CCircle. Такие функции называются
перегруженными функциями.
Список литературы

Для подготовки данной работы были использованы
материалы с сайта http://www.realcoding.net


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.