Въведение в обектно-ориентираното програмиране

Вградени методи.
В обектно-ориентиран програми намерени много кратки методи. предизвикателство код такива методи могат да бъдат по-дълги от самия метод. В този случай, методът може да бъде обявен с ЕВРОВОК инлайн. За тях, компилаторът не създава отделна функция, както и метод вложки код директно до всяко място на повикване.
например:
# 9; инлайн двойно math_operation :: getSquareRoot ()
върне SQRT (данни);
>
Следните конвенции, ако методът на код е написан директно рамките на един клас, се считат автоматично за инлайн.
Pointer това.
При описанието на класа автоматично декларира променлива с името на това. Тя сочи към текущата инстанция на класа:
Име на класа * това;
Може да се използва в случаите, когато е налице неяснота в имената изрично да се обадят на класа конструктор, за да се върнете указател към текущия обект в методите на класа.
Конструктори и деструктори.
Обектно-ориентиран функция е, че някои от методите се изпълняват безусловно. Те включват конструктор и деструктор.
Конструкторът се използва за инициализиране на променливите на класа и разпределяне на паметта за динамични масиви. Тя работи автоматично, когато представител на класа. Конструкторът има същото име като името на класа. Типът на връщане не е уточнено за дизайнера. В същото време тя може да се определя от няколко строители, които се различават по броя и вида на аргументи. Има най-малко две конструктори
  1. конструктор параметри (по подразбиране) и
  2. Дизайнер, създаване на копие на обект (kopikonstruktor).
Ако те не са включени в дефиницията на класа, компилаторът създава своя собствена.
Деструкторът се нарича, когато даден обект е унищожен. Той обикновено се използва, за да се освободи памет. Destructor има същото име като името на класа, но в началото на името на знак "

stringOperation ()
# 9, # 9; невалидни indata ()
CIN >> дължина;
за (INT I = 0; и> Ул [Ь];
# 9, # 9;>
# 9, # 9; невалидни outdata ()
Cout< за (INT I = 0; и Cout< # 9, # 9;>;

метод клас претоварване.
Методите в класа могат да имат същите имена, ако те се различават по броя и / или типа на аргументи. Това свойство се нарича метод претоварване (или комбиниране). Използване на няколко дизайнери, в частност, е възможно благодарение на този имот.
например:
модул на клас
# 9; обществен:
// изчисление модул число
# 9, # 9; Int мод (междинно съединение п)
// изчисляване модул на реално число
# 9, # 9; двойно мод (двойна п)
>;
невалидни основни ()
# 9, # 9; модул m;
# 9, # 9; Int а = -10;
# 9, # 9; Cout< # 9, # 9; двойно б = -1.5;
# 9, # 9; Cout<>
Оператор претоварване.
За всеки клас, можете да дефинирате свои собствени операции. Тази функция се нарича оператор претоварване. Можете да претовари всички аритметичните и логически операции, операции за присвояване, квадратни и кръгли скоби, новият оператор и да изтриете.
Синтаксисът за определяне на начина на претоварване на операцията:
VozvraschaemyyTip оператор peregruzhaemayaOperatsiya (параметри) <код>
Пример претоварване присъединителни операции:
монети монети :: оператора + (монети а)
# 9, # 9; монети ВЕИ;
# 9, # 9; res.number = това-> брой + a.number;
# 9, # 9; ВЕИ за връщане;
>