Программалау оқулық Алматы, 012 Қазақстан Республикасы Білім жəне ғылым министрлігінің «Оқулық»



Pdf көрінісі
бет174/465
Дата09.01.2023
өлшемі3,66 Mb.
#60709
түріПрограмма
1   ...   170   171   172   173   174   175   176   177   ...   465
Байланысты:
аибм сплюс

monstr::monstr(int he, int am);
health ( h e ) , ammo ( a m ) , s k i n ( r e d ) , name ( 0 ) { }
Өрістер үтір арқылы тізіліп жазылады. Əрбір өріс үшін жақшалар 
ішінде оны инициалдаушы мəн көрсетіледі, ол өрнек болуы мүмкін. Өріс-
тұрақтыларды, өріс-сілтемелерді жəне өріс-объектілерді инициалдауды 
бұл тəсілді қолданбай орындау мүмкін емес. Соңғы аталған жағдайда жақша 
ішінде көрсетілген параметрлерге сəйкес конструктор шақырылады.
ЕСКЕРТУ 
Конструктор инициалдау кезінде туындайтын қателік туралы хабарлау үшін мəн 
қайтара алмайды. Бұл үшін ерекше жағдайларды (аластамаларды) өңдеу механизмін 
қолдануға болады («Конструкторлар мен деструкторлардағы аластамалар» бөлімін 
қараңыз, 247 б.). 
Көшіру конструкторы
Көшіру (көшірме) конструкторы – бұл жалғыз параметр ретінде дəл 
осы кластың объектісіне сілтемені қабылдайтын конструктордың ар-
найы түрі:
T::T(const T&) { ... /* Конструктор тұлғасы */ } 
мұндағы Т – кластың атауы.
Жаңа объект бұрыннан бар объектіні көшіру арқылы құрылған 
жағдайда осы конструктор:


200
□ жаңа объектіні басқа объектіні инициализациялау арқылы 
сипаттаған кезде;
□ объектіні функцияға мəні арқылы беру кезінде;
□ объектіні функциядан қайтару кезінде
1
шақырылады.
Егер программалаушы бірде-бір көшіру конструкторын көрсетпеген болса, 
онда компилятор оны автоматты түрде құрады. Мұндай конструктор өрістерді 
бір-бір элементтен көшіруді орындайды. Егер класс құрамында нұсқауыштар 
немесе сілтемелер бар болса, бұл дұрыс емес болар, өйткені көшірме де, 
түпнұсқа да жадының бір ғана аймағына сілтеме жасайды.
monstr
класы үшін көшіру конструкторын жазайық. Оның құрамында 
символдар тіркесіне нұсқайтын 
name
атты өріс бар болғандықтан, көшіру кон-
структоры жаңа тіркеске жады бөліп, оған бастапқы тіркесті көшіруі тиіс:


Достарыңызбен бөлісу:
1   ...   170   171   172   173   174   175   176   177   ...   465




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет