Класс – определенная программная структура, содержащая данные, методы обработки и обладает тремя свойствами: инкапсуляция, наследование, полиморфизм.
class Cdate
{ //поля
int month, day, year;
//методы
void set(int d, int m, int y);
void get(int &d, int &m, int &y);
void next_day();
void print();
};
Представитель класса - экземпляр класса (объект)
Cdate date; // экземпляр класса занимает свой блок памяти и существует пока поток управления не выходит за пределы области видимости его определения
Cdate *date = new Cdate; // остается в памяти пока явно не освободят
Delete date;
Внутри методов классов всегда есть скрытый указатель this на экземпляр класса, для которого вызван данный метод
……………
void set(int d, int m, int y);
{
this.month = m; this.day = d; this.year=y;
}
……………
Интерфейс класса– объявление полей класса и методов без реализации.
class Cdate
{
//поля
int month, day, year;
//методы
void set(int d, int m, int y);
void get(int &d, int &m, int &y);
void next_day();
void print(); };
Реализация класса – реализация методов класса, как внутри самого класса так и отдельно:
Внутри – встроенные методы:
class Cdate
{ //поля …………… //методы
void set(int d, int m, int y);
{
month = m; day = d; year=y;} …………… …………… ……………};
Вне класса – внешние методы:
void Cdate::set(int d, int m, int y)
{ month = m; day = d; year=y;
}
Операция :: это - операция расширения области видимости. Она указывает, что речь идёт о функции – члене класса date.
Обычно короткие методы определяются внутри класса, а большие – вне.
В С++ исходный файл разбивают на два:
- заголовочные файлы (.h) – описание интерфейса класса,
- файлы реализации (.cpp) – реализация методов класса.