C++ ООП. Класи і об'єкти


C++ класи / об'єкти

С++ є об'єктно-орієнтованою мовою програмування.

Все в C++ пов'язано з класами і об'єктами, а також з його атрибутами і методами. Наприклад: в реальному житті, автомобіль є об'єктом . Автомобіль має атрибути , такі як вага і колір, а також методи , такі як привід і гальма.

Атрибутами і методами є в основному змінні і функції , які належать до класу. Вони часто згадуються як поля класу.

Клас являє собою певний користувацький тип даних, який ми можемо використовувати в нашій програмі, і вона працює як конструктор об'єкта або план для створення об'єктів.


створення класу

Для того, щоб створити клас, використовуйте ключове слово class :

Створимо клас під назвою MyClass :

class MyClass {       // оголошений клас з імям MyClass 

  public:             // Специфікатор доступу
    int myNum;        // Атрибут(int змінна)
    string myString;  // Атрибут(string змінна)

};

пояснення прикладу

  • class (ключове слово) використовується, щоб створити клас з ім'ям MyClass .
  • public (ключове слово) є специфікатором доступу , який вказує, що поля (атрибути і методи) класу доступні з поза класом.
  • Усередині класу, є ціла змінна myNum і змінна string типу myString . Коли змінні оголошуються в класі, вони називаються атрибутами .
  • В кінці кінців, закінчуємо визначення класу крапкою з комою ; .

створення об'єкта

У C++, об'єкт створюється з класу. Ми вже створили клас з ім'ям MyClass , так що тепер ми можемо використовувати це для створення об'єктів.

Для того, щоб створити об'єкт MyClass , потрібно вказати ім'я класу, за яким слідує ім'я об'єкта.

Для того, щоб отримати доступ до атрибутів класу ( myNum і myString ), використовуйте крапковий синтаксис ( . ) на об'єкті:

Створюємо об'єкт під назвою myObj і отримуємо доступ до атрибутів:

#include <iostream>
#include <string>
using namespace std;

class MyClass {       // Клас з імям MyClass 
  public:             // Специфікатор доступу
    int myNum;        // Атрибут(int змінна)
    string myString;  // Атрибут(string змінна)
};


int main() {

  MyClass myObj;  // Створіть об’єкт MyClass з іменем myObj

  // Доступ до атрибутів та встановлених значень через знак крапки . 
  myObj.myNum = 15;
  myObj.myString = "Some text";

  // виводимо значення
  cout << myObj.myNum << "\n";    // 15
  cout << myObj.myString;         // Some text
  return 0;
}

// RESULT:
// 15
// Some text

кілька об'єктів

Ви можете створити кілька об'єктів одного класу:

#include <iostream>
#include <string>
using namespace std;

class Car {
  public:
    string brand;
    string model;
    int year;
};

int main() {

  Car carObj1;                // створено обєкт carObj1
  carObj1.brand = "BMW";      // присвоюємо значення обєкту carObj1
  carObj1.model = "X5";
  carObj1.year = 1999;

  Car carObj2;                 // створено обєкт carObj2
  carObj2.brand = "Ford";      // присвоюємо значення обєкту carObj2
  carObj2.model = "Mustang";
  carObj2.year = 1969;

  // виводимо значення з обєкта carObj1 і carObj2
  cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";
  cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";

  return 0;
}

// RESULT:
// BMW X5 1999
// Ford Mustang 1969

Наш партнер:
beta test mp3 playlist downloader