Член-променливи
Дефинирането на член-променливите на класа е аналогично на дефинирането на променливи. За да стане една променлива член на класа, то тя трябва да бъде дефинирана в тялото на класа.
class Point { double x_; double y_; };
Например, променливите x_
и y_
, дефинирани в ред 1 и 2, стават член-променливи на класа Point
, защото са дефинирани в неговото тяло.
Променливите bl_
и ur_
от следващия фрагмент са член-променливи на класа Rectangle
.
class Rectangle { Point bl_, ur_; };
Член-променливите не могат да бъдат инициализирани при тяхното дефиниране.
[note]
Това правило има изключение. Ако член-променливата е статична и константна, то тя може да бъде инициализирана още при нейното дефиниране.
[/note]
Следователно, следният фрагмент съдържа грешка в ред 1:
class Foo { int bar_=42; };
Причината за това е, че при дефинирането на член-променлива не се заделя памет. Заделянето на памет и инициализирането на член-променливите се извършва едва при създаването на обект от дадения клас. Поради това за инициализиране на член-променливите на обектите от даден клас се грижи специализирана член-функция – конструктор – която се вика автоматично при създаването на всеки обект.
Pingback: CPP-101: Кратък обзор на езика за програмиране C++ | Записки по програмиране
Pingback: CPP-101: Обработка на изключения | Записки по програмиране