Ukufunda i-C ++: Ukulayisha ngaphezulu abaSebenzisi begalelo kunye nabaphumayo

Ibhlog

Ukufunda i-C ++: Ukulayisha ngaphezulu abaSebenzisi begalelo kunye nabaphumayo

Enye yezinto zokuqala ozenzayo xa uyila kwaye usebenzisa iklasi kukujonga indlela ethile yokufumana idatha kwizinto zeklasi yakho kunye nendlela yokufumana idatha kwizinto zakho. Ngamanye amaxesha imisebenzi yamalungu isebenza kakuhle koku, kodwa ngamanye amaxesha ufuna ukusebenzisa igalelo kunye nabavelisi bokukhupha njengoko usebenzisa iintlobo zeedatha ezakhelweyo.



Kweli nqaku ndiza kukubonisa ukuba ungamgcwalisa njani umqhubi wezinto ezifakwayo (>>) kunye nomphathi wokukhupha (<<) ukuze ukwazi ukuzisebenzisa nezinto zeklasi yakho.

Amagama ambalwa malunga noMthwalo oMninzi woMsebenzi

I-C ++ lolunye lweelwimi ezimbalwa ukuvumela ukulayisha ngaphezulu komqhubi. Ukulayisha ngaphezulu kwabaqhubi kuluncedo kwiiklasi kuba kukho amaxesha apho ufuna ukusebenzisa into yeklasi kunye nomqhubi ongayamkeliyo loo nto. Oku kuyinyani kuzo zonke iintlobo ezichaziweyo zomsebenzisi (iiklasi).



Umzekelo, qwalasela iklasi ebizwa ngokuba yi- _ _ + _ |. Eli klasi luklasi olusongelayo lwamanani apheleleyo abandakanya (ngokucinga) ukusebenza okungafumanekiyo kuhlobo lwe-int uqobo. Ukuba ndifuna ukongeza ezimbini IntData Izinto kunye, ngaphandle kokulayisha ngaphezulu komqhubi kuya kufuneka ndibonelele ngomsebenzi welungu ngokwenza oku. Nanku umzekelo weqhekeza lekhowudi:

IntData

Into endifuna ukuyenza yile:



IntData d1(1); IntData d2(2); IntData d3 = d1.add(d2);

Andikwazi ukwenza oku ngaphandle kokulayisha ngaphezulu komsebenzisi kuba | _ _ + _ | Umsebenzi awuchazwanga ukuba asebenze neyam IntData d1(1); IntData s2(2); IntData d3 = d1 + d2; izinto. Ngokulayisha kakhulu umsebenzisi, kwelinye icala, ndinganako + umqhubi uqaphele yam IntData izinto kwaye wenze ukongeza okubangelwa. Oku kwenza ukuba umqhubi alayishe umthwalo kwinxalenye ebalulekileyo yeenkcazo ezininzi zeklasi.

Oku kuyasebenza nakwimisebenzi efana negalelo kunye nemveliso. Andikwazi ukubhala ngokulula ukubonisa imixholo | + into:

IntData

I IntData umsebenzisi akanalo ulwazi ngenkcazo yeklasi yam. Kwaye andinakusebenzisa isixhobo sokufaka ukufaka idatha kwi cout << d1 << endl; | into:

<<

Ukuvumela le misebenzi ukuba isebenze ukuze abasebenzisi beklasi yam bakwazi ukusebenzisa ezi zinto ngendlela efanayo basebenzise iintlobo zedatha yakudala, kufuneka ndilayishe ngaphezulu igalelo kunye nabavelisi bokukhupha ukuze babone IntData izinto.

#cpp # funda-ukuya-kwikhowudi # ejolise kwinto # umqhubi okhuphela ngaphezulu # funda-kwinkqubo-c #+

levelup.gitconnected.com

Ukufunda i-C ++: Ukulayisha ngaphezulu abaSebenzisi begalelo kunye nabaphumayo

Kweli nqaku ndiza kukubonisa ukuba ungamgcwalisa njani umqhubi wegalelo (>>) kunye nomphathi wokukhupha (<<) so that you can use them with your class objects.