C++ Класи та об’єкти
C++ Класи/об’єкти
C++ — це об’єктно-орієнтована мова програмування.
У C++ усе пов’язано з класами й об’єктами, а також з атрибутами й методами. Наприклад, у реальному житті автомобіль є об’єктом. Автомобіль має атрибути, такі як вага та колір, і методи, такі як водіння та гальмування.
Атрибути та методи — це в основному змінні та функції, які належать до класу. Їх часто називають "членами класу".
Клас — це визначений користувачем тип даних, який ми можемо використовувати в нашій програмі, і він працює як конструктор об’єктів або "схема" для створення об’єктів.
Створити клас
Щоб створити клас, використовуйте ключове слово class
:
Приклад
Створіть клас під назвою "MyClass
":
class MyClass { // клас
public: // cпецифікатор доступу
int myNum; // атрибут (змінна int)
string myString; // атрибут (змінна string)
};
Пояснення прикладу
- Ключове слово
class
використовується для створення класу під назвоюMyClass
. - Ключове слово
public
є специфікатором доступу, який визначає, що члени (атрибути та методи) класу доступні поза класом. Ви дізнаєтеся більше про специфікатори доступу пізніше в цьому підручнику. - Усередині класу є int змінна
myNum
і string зміннаmyString
. Коли змінні оголошуються в класі, вони називаються атрибутами. - Нарешті, завершується визначення класу крапкою з комою
;
.
Яка різниця між класом і структурою?
Наведений вище приклад дуже схожий на структуру (struct
).
- Структури набагато простіші за об’єкти. На відміну від об’єктів, структури не можуть виконувати інкапсуляцію, наслідування чи поліморфізм, про які ви дізнаєтеся більше в наступних розділах. Якщо все, що вам потрібно, це набір змінних; структуру легше використовувати, ніж об’єкт.
Створити об’єкт
У C++ об’єкт створюється з класу. Ми вже створили клас під назвою MyClass
, тож тепер ми можемо використовувати його для створення об’єктів.
Щоб створити об’єкт MyClass
, укажіть назву класу, а потім назву об’єкта.
Щоб отримати доступ до атрибутів класу (myNum
і myString
), використовуйте синтаксис крапки (.
) на об’єкті:
Приклад
Створіть об’єкт під назвою "myObj
" і отримайте доступ до атрибутів:
class MyClass { // клас
public: // специфікатор доступу
int myNum; // атрибут (змінна int)
string myString; // атрибут (змінна string)
};
int main() {
MyClass myObj; // Створити об’єкт MyClass
// Доступ до атрибутів і встановлення значень
myObj.myNum = 15;
myObj.myString = "Some text";
// Вивести значення атрибутів
cout << myObj.myNum << "\n";
cout << myObj.myString;
return 0;
}
Спробуйте самі »
Кілька об’єктів
Ви можете створити кілька об’єктів одного класу:
Приклад
// Створити клас Car з деякими атрибутами
class Car {
public:
string brand;
string model;
int year;
};
int main() {
// Створити об’єкт Car
Car carObj1;
carObj1.brand = "BMW";
carObj1.model = "X5";
carObj1.year = 1999;
// Створити інший об’єкт Car
Car carObj2;
carObj2.brand = "Ford";
carObj2.model = "Mustang";
carObj2.year = 1969;
// Вивести значення атрибутів
cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";
cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";
return 0;
}
Спробуйте самі »