Како контролисати модификаторе приступа у Ц++: Разумевање видљивости чланова

Kako Kontrolisati Modifikatore Pristupa U C Razumevane Vidlivosti Clanova



Скривање података је једна од кључних карактеристика Ц++-а која се односи на ограничавање приступа подацима у класи како би се спречио нежељени приступ подацима класе извана. Дакле, модификатори приступа се користе да дефинишу који чланови класе су доступни ком спољном извору, а који не.

Модификатори приступа у Ц++

Модификатори приступа се користе за управљање приступачношћу и видљивошћу података класе. Они постављају нека ограничења за чланове података тако да им не могу приступити спољне функције. Модификатори приступа су три типа у Ц++:

Модификатор јавног приступа у Ц++

Сви чланови класе декларисани под кључном речи публиц биће доступни свим функцијама ван класе у оквиру програма. Оператор директног приступа члановима (.) познат и као оператор тачке може се користити са објектом те специфичне класе за приступ овим члановима података.







Пример

Модификатор јавног приступа се користи за декларисање класе, а њеним члановима података приступају друге функције унутар програма.



#инцлуде<иостреам>

#инцлуде <цонио.х>

#инцлуде<матх.х>

користећи простор имена стд ;
класа Троугао
{
јавности :
пловак Икс , и , Витх ;
празнина улазни ( )
{
цоут << „Унесите страну к троугла:-“ ;
једење >> Икс ;
цоут << „Унесите страну и троугла:-“ ;
једење >> и ;
цоут << „Унесите страну з троугла:-“ ;
једење >> Витх ;
}
празнина Подручје ( )
{
пловак с = ( Икс + и + Витх ) / 2 ;
пловак области = скрт ( с * ( с - Икс ) * ( с - и ) * ( с - Витх ) ) ;
цоут << ' Површина троугла =' << области ;
}
} ;
инт главни ( )
{
Троугао т1 ;
т1. улазни ( ) ;
т1. Подручје ( ) ;
повратак 0 ;
}

Троугао је дефинисан као класа и његови параметри су под јавном кључном речи. Затим се површина троугла израчунава изван ове класе кроз приступ члановима података модификатора публиц.







Три стране троугла уноси корисник, а површина троугла се израчунава приступањем вредностима изван класе, користећи стандардну формулу, која је 13,4164.

Модификатор приватног приступа у Ц++

Сви чланови класе декларисани под кључном речи привате неће бити доступни ниједној функцији ван класе у програму. Ове приватне чланове могу читати само директни чланови унутар исте класе. Међутим, функције и класе пријатеља такође могу приступити подацима.



Пример

Две класе јавне и приватне су декларисане, а повратна вредност програма треба да буде површина троугла.

#инцлуде<иостреам>

#инцлуде <цонио.х>

#инцлуде<матх.х>

користећи простор имена стд ;
класа Троугао
{

приватни :
пловак Икс , и , Витх ;
јавности :
празнина улазни ( )

{

цоут << „Унесите страну к троугла:-“ ;
једење >> Икс ;
цоут << „Унесите страну и троугла:-“ ;
једење >> и ;
цоут << „Унесите страну з троугла:-“ ;
једење >> Витх ;

}
празнина Подручје ( )
{

пловак с = ( Икс + и + Витх ) / 2 ;
пловак области = скрт ( с * ( с - Икс ) * ( с - и ) * ( с - Витх ) ) ;
цоут << ' Површина троугла =' << области ;

}

} ;

инт главни ( )
{
Троугао т1 ;
т1. улазни ( ) ;
т1. Подручје ( ) ;
повратак 0 ;

}

У маин(), објекат т1 не може директно да приступи променљивој приватне класе флоат к, и и з, тако да се њиме може само индиректно манипулисати преко јавне функције инпут(), пошто ова функција добија вредности к, и и з.

Површина троугла се добија приступањем приватној класи кроз манипулацију њом користећи јавну класу. Ако вредности к, и и з неће бити декларисане у јавној класи, онда им се неће приступити у маин() за прорачуне.

Модификатор заштићеног приступа у Ц++

Чланови и функције под кључном речи протецтед су заштићени, може им се приступити само унутар класе и изведене класе. Остале класе не могу приступити својим подацима. Они су високо заштићени.

Пример

Заштићени подаци под кључном речи протецтед могу се читати само у оквиру класе и од стране класе која је изведена класа. Овај пример је практична демонстрација модификатора заштићеног приступа.

#инцлуде<иостреам>

#инцлуде <цонио.х>

#инцлуде<матх.х>

користећи простор имена стд ;
//родитељска класа
класа Троугао
{

заштићени :
пловак Икс , и , Витх ;
} ;
//дечији разред
класа ТрианглеЦхилд : јавни троугао {
јавности :
празнина улазни ( )

{

цоут << „Унесите страну к троугла:-“ ;
једење >> Икс ;
цоут << „Унесите страну и троугла:-“ ;
једење >> и ;
цоут << „Унесите страну з троугла:-“ ;
једење >> Витх ;

}
празнина Подручје ( )
{
пловак с = ( Икс + и + Витх ) / 2 ;
пловак области = скрт ( с * ( с - Икс ) * ( с - и ) * ( с - Витх ) ) ;
цоут << ' Површина троугла =' << области ;

}
} ;

инт главни ( )

{
ТрианглеЦхилд Цхилд ;
дете. улазни ( ) ;
дете. Подручје ( ) ;
повратак 0 ;

}

ТрианглеЦхилд је наслеђена класа која је изведена из класе Триангле. Променљиве к, и и з су декларисане у троуглу са заштићеном кључном речи. То значи да су ове варијабле заштићене, али им може приступити ТрианглеЦхилд пошто је Триангле његова родитељска класа. Вредности променљивих су додељене у ТрианглеЦхилд иако су декларисане у класи Триангле.

Променљивим се приступа преко дечје класе, а затим се израчунава површина троугла.

Закључак

Сакривање података спречава нежељени приступ подацима класе извана. Модификатори приступа се користе за управљање приступачношћу и видљивошћу података у програму. За скривање података користе се модификатори приватног, заштићеног и јавног приступа. Податке под јавном кључном речи могу читати и функције изван класе. Подаци декларисани као приватни могу се читати само унутар класе, док заштићеним подацима могу приступити и родитељска и подређена класа.