Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Class Date




Class Money

Class XXX

Class Fraction

Основные теоретические сведения

Определение класса

Класс можно определить с помощью конструкции

class имя_класса { компоненты класса };

Точка с запятой в конце ставится обязательно. В этом определении:

· служебное слово - class;

· имя класса — идентификатор;

· компоненты класса — определения и объявления данных и принадлежащих классу функций.

Имя класса является по умолчанию именем типа объектов. Данные - это поля объекта, образующие ею структуру. Их называют данными-членами или переменными-членами. Значения полей определяют состояние объекта. Функция, являющаяся компонентом класса, называется функциями-членами. Функции-члены класса иногда называют методами. Функциями-членами класса определяются операции над объектами класса. Разрешается определять класс:

· с полями и методами;

· только с полями;

· только с методами;

· без полей и без методов.

Класс без полей и без методов называется пустым классом.

Элементы класса типа struct no умолчанию открыты и доступны в других частях программы. Члены класса class по умолчанию закрыты и недоступны вне данного класса. Доступ к содержимому класса задается спецификаторами доступа, которые обозначаются ключевыми словами public и private. Ключевое слово public объявляет элемент класса доступным вне класса, а ключевое слово private закрывает доступ снаружи. После ключевого слова требуется поставить знак “:” (двоеточие).

И в классе, и в структуре можно написать столько спецификаторов public и private, сколько необходимо, и в том порядке, в каком требуется. Очередной спецификатор действует до следующего. Допускается индивидуально объявлять каждый элемент класса либо открытым, либо закрытым. Открытая часть класса называется интерфейсом.

Примеры объявлений классов приведены в листинге 1.

Листинг 1. Примеры объявлений классов

class NullType {}; //пустой класс

{

int num;

int denum; //поля - закрыты

public:

void reduce(); //метод - открыт

};

{

int yyy(); //метод - закрыт

public:

int fff(int t); //метод - открыт

int RRR; //поле - открыто

};

{

private:

double Rubls;

public:

void Add(const double &r);

void Display();

};

{

int month, day, year; // поля - месяц, день, год

public:

void set(int d, int m, int y); //метод - установить дату

void get(int &d, int &m, int &y); //метод - получить дату

void next(); // метод - установить следующую дату

void print(); // метод - показать дату

};

Использование класса

Имея определение класса, можно объявлять переменные типа «имя_класса». Переменная класса называется объектом, или экземпляром класса. Класс объявляется один раз, а вот объектов можно создать столько, сколько необходимо. Объекты объявляются аналогично переменным встроенного типа:

имя_класса имя_объекта; // скалярный объект

имя_класса *имя_объекта; // указатель

имя_класса имя_объекта[количество]; // массив

Следующие переменные могут быть объявлены для приведенных в листинге 1 классов:

NullType a, *pb; // скалярный объект и указатель

Date *pd; // указатель

Money t; // скалярный объект

Money *p; // указатель

Money m[100]; // массив объектов

Переменную можно инициализировать другой переменной того же класса. Разрешается объявлять и ссылки на объекты с обязательной инициализацией.

Money x = t; //инициализация переменной

Date y(d); //инициализация переменной

Date &u = y; //обязательная инициализация ссылки

Если поля открыты, разрешается обычная инициализация полей инициализатором структуры, например




Поделиться с друзьями:


Дата добавления: 2015-05-10; Просмотров: 400; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.