195
monstr *beavis = new monstr (10); // Динамикалық объект
//(екінші параметр келісім бойынша беріледі)
monstr &butthead = Vasia; // Объектіге сілтеме
Əрбір объектіні құру кезінде оның барлық өрістерін сақтауға жеткілікті
жады көлемі бөлінеді жəне оларды инициалдайтын конструктор автоматты
түрде шақырылады. Кластың əдістері қайталанып жаппай таралмайды. Объект
əрекет ету аймағынан шыққан кезде ол жойылады да, бірден автоматты түрде
деструктор шақырылады (деструкторлар 204 б. сипатталған).
Объект элементтеріне қол жеткізу құрылым өрістеріне қол жеткізуге
ұқсас орындалады. Бұл үшін элементті объект атауы арқылы шақырғанда
.
(нүкте) операциясы жəне нұсқауыш арқылы шақырғанда
->
операциясы
қолданылады, мысалы:
int n = Vasia.get_ammo();
stado[5].draw;
cout << beavis->get_health();
Мұндай жолмен тек
publiс
спецификаторы бар элементтерге қол
жеткізуге болады.
private
спецификаторы бар элементтердің мəндерін алу
немесе өзгерту үшін соған сəйкес əдістерге жүгіну керек.
Өрістерін өзгертуге тыйым салынатын тұрақтылық объект құруға болады.
Оған тек тұрақтылық əдістер қолданылуы тиіс:
class monstr{
...
int get_health() const {return health;}
};
const monstr Dead(0,0); //Тұрақтылық объект
cout << Dead.get_health();
Тұрақтылық əдіс:
□ параметрлер тізімінен кейін
const
түйінді сөзі арқылы жарияланады;
□ класс өрістерінің мəндерін өзгерте алмайды;
□ тек тұрақтылық əдістерді шақыра алады;
□ кез келген объектілер үшін (тек тұрақтылық объектілер үшін ғана емес)
шақыртылуы мүмкін.
Өріс мəндерін алуға арналған əдістерді тұрақтылық əдістер ретінде
сипаттаған жөн.
this нұсқауышы
Əрбір объектіде класс өрістерінің өзіндік экземпляры, яғни данасы бола-
ды. Компьютер жадында класс əдістері тек бір экземплярда (данада) бола-
ды жəне барлық объектілер оны ортақ түрде қолданады, сондықтан əдістері
шақырылған объект өрістерімен тек осы əдістердің жұмыс істеуін қамтамасыз
ету керек. Мұндай əрекет функцияға
Достарыңызбен бөлісу: