Основной целью программирования на C ++ является добавление ориентации объекта на язык программирования C, а классы - центральная функция C ++, которая поддерживает объектно-ориентированное программирование и часто называется пользовательскими типами.
Класс используется для указания формы объекта и объединяет представление данных и методы для управления этими данными в один аккуратный пакет. Данные и функции внутри класса называются членами класса.
Определения классов C ++
Когда вы определяете класс, вы определяете схему для типа данных. Это фактически не определяет какие-либо данные, но определяет определение имени класса, то есть то, что будет состоять из класса класса и какие операции могут выполняться на таком объекте.
Определение класса начинается с класса ключевого слова, за которым следует имя класса; и тело класса, заключенное в пару фигурных скобок. Определение класса должно выполняться либо точкой с запятой, либо списком деклараций. Например, мы определили тип данных Box с использованием класса ключевого слова следующим образом:
class Box {
public:
double length; // Length of a box
double breadth; // Breadth of a box
double height; // Height of a box
};
Ключевое слово public определяет атрибуты доступа для членов класса, которые следуют за ним. Доступ к публичному члену можно получить извне класса в пределах области объекта класса. Вы также можете указать членов класса как частные или защищенные, которые мы обсудим в подразделе.
Определение объектов C ++
Класс предоставляет чертежи для объектов, поэтому в основном объект создается из класса. Мы объявляем объекты класса с точно таким же объявлением, что мы объявляем переменные основных типов. Следующие утверждения объявляют два объекта класса Box -
Box Box1; // Declare Box1 of type Box
Box Box2; // Declare Box2 of type Box
Оба объекта Box1 и Box2 будут иметь собственную копию данных.
Доступ к членам данных
Доступ к публичным элементам данных объекта класса осуществляется с помощью оператора прямого доступа (.). Давайте попробуем следующий пример, чтобы все было ясно -
#include <iostream>
using namespace std;
class Box {
public:
double length; // Length of a box
double breadth; // Breadth of a box
double height; // Height of a box
};
int main() {
Box Box1; // Declare Box1 of type Box
Box Box2; // Declare Box2 of type Box
double volume = 0.0; // Store the volume of a box here
// box 1 specification
Box1.height = 5.0;
Box1.length = 6.0;
Box1.breadth = 7.0;
// box 2 specification
Box2.height = 10.0;
Box2.length = 12.0;
Box2.breadth = 13.0;
// volume of box 1
volume = Box1.height * Box1.length * Box1.breadth;
cout << "Volume of Box1 : " << volume <<endl;
// volume of box 2
volume = Box2.height * Box2.length * Box2.breadth;
cout << "Volume of Box2 : " << volume <<endl;
return 0;
}
Когда приведенный выше код компилируется и выполняется, он производит следующий результат:
Volume of Box1 : 210
Volume of Box2 : 1560
Важно отметить, что доступ к закрытым и защищенным элементам невозможен напрямую, используя оператор прямого доступа к члену (.). Мы узнаем, как можно получить доступ к закрытым и защищенным членам.
Классы и объекты в деталях
До сих пор у вас есть очень общее представление о C ++ классах и объектах. Существуют и другие интересные концепции, связанные с классами и объектами C ++, которые мы обсудим в следующих подразделах, перечисленных ниже:
Функции членов класса
Функция-член класса - это функция, которая имеет определение или ее прототип в определении класса, как и любая другая переменная.
Модификаторы доступа к классу
Член класса может быть определен как открытый, закрытый или защищенный. По умолчанию члены будут считаться закрытыми.
Конструктор и деструктор
Конструктор класса является специальной функцией в классе, который вызывается при создании нового объекта класса. Деструктор также является специальной функцией, которая вызывается при удалении созданного объекта.
Копировать конструктор
Конструктор копирования - это конструктор, который создает объект, инициализируя его объектом того же класса, который был создан ранее.
Функции друга
Функция друга разрешает полный доступ к закрытым и защищенным членам класса.
Встроенные функции
С помощью встроенной функции компилятор пытается развернуть код в теле функции вместо вызова функции.
this указатель
Каждый объект имеет специальный указатель , этот , который указывает на сам объект.
Указатель на классы C ++
Указатель на класс выполняется точно так же, как указатель на структуру. На самом деле класс - это просто структура с функциями в нем.
Статические члены класса
Оба элемента данных и члены функции класса могут быть объявлены как статические.
0 комментариев