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


мəліметтер_типі(класс_атауы::*нұсқауыш_атауы)



Pdf көрінісі
бет192/466
Дата20.07.2022
өлшемі3,66 Mb.
#37798
түріПрограмма
1   ...   188   189   190   191   192   193   194   195   ...   466
Байланысты:
pavlovskaia-jogargy-dengeili

мəліметтер_типі(класс_атауы::*нұсқауыш_атауы); 
Нұсқауыш анықтамасына оның инициалдануын мынадай түрде енгізуге 
болады:
&класс_атауы::*өріс_атауы; // Өріс public болуы тиіс


215
Егер 
health 
өрісі
 public 
ретінде жарияланған болса, онда оған 
нұсқауыштың анықтамасы келесідей түрде болатын еді:
int (monstr::*phealth) = &monstr::health;
cout << Vasia.*phealth; // .* операциясын қолдану
cout << p->*phealth; // ->* операциясын қолдану
Класс өрістеріне нұсқауыштар қарапайым нұсқауыштар болмайтынына на-
зар аударыңыз – оларға мəндерді меншіктеген кезде олар нақты жады адресіне 
сілтеме жасамайды, өйткені жады кластар үшін емес, класс объектілері үшін 
бөлінеді.
Класс құрамы бойынша ұсыныстар
Кластар құру, олармен жұмыс істеу мысалдарына практикумның [12] 
бірінші семинары арналған.
Көбінесе, қолданушы анықтаған тип ретінде класс құрамында жасырын 
(
private
) өрістер жəне келесі функциялар қамтылуы керек:
□ класс объектілерінің калай инициалданатынын анықтайтын конструк-
торлар;
□ кластың қасиеттерін жүзеге асыратын əдістер жиынтығы (мұндайда 
кластың жасырын өрістерінің мəндерін қайтаратын əдістер 
const 
мо-
дификаторы арқылы сипатталады, бұл модификатор өрістер мəндерінің 
өзгертілмейтіндігін көрсетеді);
□ объектілерді көшіруге, меншіктеуге, салыстыруға жəне олармен 
кластың қасиеттеріне байланысты басқа да əрекеттерді орындауға 
мүмкіндік беретін операциялар
 жиынтығы;
□ ерекше жағдайларды генерациялау арқылы қателер туралы хабарлама-
лар үшін пайдаланылатын аластамалар класы (ол туралы 240 б. айты-
латын болады).
Егер класпен немесе бірнеше класпен интерфейс арқылы жұмыс істейтін 
(яғни жасырын өрістерге енудің қажеті жоқ) функциялар бар болса, онда 
интерфейстерді асыра жүктемеу үшін осы функцияларды кластан тыс сипаттауға 
болады, ал логикалық байланысты қамтамасыз ету үшін оларды осы кластар-
мен ортақ атаулар кеңістігіне орналастыру керек, мысалы:


Достарыңызбен бөлісу:
1   ...   188   189   190   191   192   193   194   195   ...   466




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

    Басты бет