
- •Основные понятия ооп – класс, объект, поле, метод.
- •Область видимости и инкапсуляция. Указатель this.
- •Сравнение класса и структуры.
- •Конструкторы и деструкторы.
- •Int a; // поле класса
- •Void set_a(int aa); //метод класса
- •Классы в динамическими полями.
- •Конструктор по умолчанию, копирования, инициализации
- •Int a; // поле класса
- •Void set_a(int aa); //метод класса
- •Перегрузка операций и функции друзья.
- •Статические поля и методы класса.
- •Int a; // поле класса
- •Void set_a(int aa); //метод класса
- •Операция как функция. Цель перегрузки операций.
- •Множественное наследование. Достоинство и недостатки.
- •Виртуальные методы. Полиморфизм.
- •Виртуальные методы. Абстрактные классы.
Основные понятия ооп – класс, объект, поле, метод.
Класс – это пользовательский тип, который имеет свои поля и методы.
Объект – это экземпляр класса.
Данные класса называются полями (по аналогии с полями структуры), а функции класса - методами.
Поля могут быть: простыми переменными, константами.
class A
{
private:
Int a; // поле класса
Public:
A() {};//конструктор по умолчанию
A(int aa) {a=aa; };//конструктор с параметрами-инициальзации
A(const A &aa){a=a.aa ;}; // конструктор копирования
~A(){a}; //деструктор
Void set_a(int aa); //метод класса
A operator+(int aa){A temp; temp= this->a+aa; return temp;}; ПРИМЕР ПЕРЕГРУЗКИ И УКАЗАТЕЛЯ THIS
}
Классы с++. Объявление класса. Поля и методы.
Класс – это пользовательский тип. Любой тип данных представляет собой множество значений и набор действий, которые разрешается выполнять с этими значениями. В С++ множество значений нового типа определяется задаваемой в классе структурой данных, а действия с объектами нового типа реализуются в виде функций и перегруженных операций С++.
class<имя>{ private: <описание скрытых элементов>public: <описание доступных элементов> }; // Описание заканчивается точкой с запятой
private, public, protected – область видимости.
Данные класса называются полями (по аналогии с полями структуры), а функции класса - методами. Поля и методы называются элементами класса. Поля могут быть: простыми переменными, константами. Доступ к полям и методам: указатель this -> поле.
Область видимости и инкапсуляция. Указатель this.
Инкапсуляция – скрытие данных или механизм, который объединяет данные и код, а так же защищает и то и другое от внешнего вмешательства.
Когда данные объединяют, создается object. Объект это то, что поддерживает инкапсуляцию. Внутри объекта данные могут быть открытыми (public) и закрытыми (private), защищенными (protected).
This – это указатель, который указывает на себя.(обращается к полю напрямую, указывает на сам объект).
Сравнение класса и структуры.
Синтактически класс похож на структуру. И структура и класс обладают фактически одинаковыми свойствами. В С++ в определение структуры так же включили конструкторы и деструкторы, и функции-члены. Единственным отличием является то что, члены класса по умолчанию являются закрытыми(private), а члены структуры по умолчанию открытыми (public).
class A{};
struct name{};
Конструкторы и деструкторы.
Констукторы: по умолчанию, копирования, инициализации. Констр. Предназначен для инициализации объекта.вызывается автоматически.
сlass my_class{
private:
int a;
int b;
public:
my_class();
my_class( int aa,int bb);
~my_class();
int plus();
};
Деструктор деинициализирует созданные экземпляры класса (в общем, он очищает память).деструктор освобождает память.
class A
{
private:
Int a; // поле класса
Public:
A() {};//конструктор по умолчанию
A(int aa) {a=aa; };//конструктор с параметрами-инициальзации
A(const A &aa){a=a.aa ;}; // конструктор копирования
~A(){a=0}; //деструктор