Классы С++ относятся к объектно-ориентированному программированию (ОПП). Под классом (class) подразумевается пользовательский тип, объявленный с использованием одного из ключевых слов class,struct или union, под структурой (structure) подразумевается класс, определённый через ключевое слово struct, и под объединением (union) подразумевается класс, определённый через ключевое слово union.
Создание класса начинается с помощью словаclass, за которым следуют фигурные скобки. В фигурные скобки заключается вся информация для класса. После закрывающейся фигурной скобки ставится точка с запятой. Очень важно знать то, что внутри класса используются слова public, private и protected, особое внимание стоит уделить public и private. Это модификаторы доступа. Информация внутри модификатора public доступно для всей программы, а private доступно только внутри класса. В классе модификаторы доступа записываются по умолчанию private, поэтому слово privateзаписать не обязательно. Ниже написаны две равнозначные записи:
class summa
{
private: int x,y,z;
public: int a;
};
class summa
{
int x, y, z;
int a;
};
Возникает вопрос: «Что прописывать в private , а что в public?». В privateнеобходимо прописывать детали конструкции, а в public функции и данные, доступ к которым должен происходить из функций вне класса.Так как классы в С++ — это всего лишь абстракция (идея), описывающая свойства, ещё не существующих объектов. Объекты являются экземплярами класса, они могут иметь различное поведение, методы, свойства, но все равно будут являться объектами одного класса. В ООП существует три основных принципа построения классов:
Инкапсуляция — это свойство, предназначенное объединить данные и методы класса.
Наследование— это свойство, способное создать новый класс-потомок, при котором все характеристики класса родителя присваиваются классу-потомку.
Полиморфизм— свойство классов, позволяющее использовать объекты классов с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.
Вернемся к методам и свойствам классов в С++. Свойства — это данные, характеризующие объект класса. Методы — это функции, выполняющие любые действия над свойствами класса.
Стоит также упомянуть о конструкторе и деструкторе классов в С++. Конструктор — это метод, вызывающиеся после создания класса и, имеющий несколько условий для существования: во-первых, конструктор должен иметь тоже название, что и класс, а во-вторых, он не должен иметь тип функции (bool, void …). Деструктор — это функция, которая вызывается после удаления класса. Условия деструктора идентичны условиям конструктора, но есть и очень важное отличие, деструктор должен начинаться с тильды (~).
В заключение, хотелось бы сказать, что классы С++ являются основными методами расширения структурного программирования. Рассказывая о классах С++ мне хотелось бы подчеркнуть, что в языке С нет классов, а следовательно С не поддерживает объектно-ориентированное программирование, то есть это доказывает универсальность языка С ++, что немаловажно в современном мире программирования.
Источники:
http://cppstudio.com/post/439/
http://proginfo.ru/classes/
https://code-live.ru/post/cpp-classes/
http://www.c-cpp.ru/books/vvedenie-v-klassy-s
http://purecodecpp.com/archives/1703
http://sitev.ru/post/116