Клас.
Клас - фундаментальне поняття С++, він лежить в основі багатьох властивостей С++. Клас надає механізм для створення|створіння| об'єктів. У класі відбито найважливіші концепції об'єктно-орієнтованого програмування: інкапсуляція, успадковування, поліморфізм.
З погляду синтаксису, клас у С++ - це структурований тип, утворений на підставі вже існуючих типів.
У цьому сенсі|змісті,рації| клас є|з'являється,являється| розширенням поняття структури. У простому випадку клас можна визначити за допомогою конструкції:
тип_класа ім’я_класу{ список_членів_класу};
де тип_класу –одне з службових слів class, struct, union;
ім’я_класу – ідентифікатор;
список_членів_класу – визначення і описи даних, що типізуються, і функцій, що належать класу.
Функції – це методи класу, що визначають операції над об'єктом.
Дані – це поля об'єкту, що утворюють його структуру. Значення полів визначає стан об'єкту.
Приклади|зразки|.
struct date // дата
{int month,day,year; // поля: місяць, день, рік
void set(int,int,int); // метод – установити дату
void get(int*,int*,int*); // метод – одержати|отримати| дату
void next(); // метод – установити наступну|таку| дату
void print(); // метод – вивести дату
};
struct class complex // комплексне число
{double re,im;
double real(){return(re);}
double imag(){return(im);}
void set(double x,double у|в,біля|){re = x; im = у|в,біля|;}
void print(){cout<<“re = “<<re; cout<<“im = “<<im;}
};
Для опису об'єкта класу (екземпляра|примірника| класу) використовують конструкцію
ім’я_класу ім’я_об’єкта;
date today,my_birthday;
date *point = &today; // покажчик на об'єкт типу date
date clim[30]; // масив об'єктів
date &name = my_birthday; // посилання|заслання| на об'єкт
До об'єктів, що визначаються, входять дані, відповідні членам - даним класу. Функції - члени класу дозволяють обробляти дані конкретних об'єктів класу. Звертатися|обертатися| до даних об'єкту і викликати|спричиняти| функції для об'єкту можна двома способами. Перший за допомогою “кваліфікованих” імен:
ім’я_об’єкту ім’я_даного
ім’я_об’екту ім’я_ функції
Приклад
complex x1,x2;
x1.re = 1.24;
x1.im = 2.3;
x2.set(5.1,1.7);
x1.print();
Другий спосіб доступу використовує покажчик на об'єкт
покажчик_ на об'єкт –>ім’я_компонента
complex *point = &x1; // або point = new complex;
point –>re = 1.24;
point –>im = 2.3;
point –>print();