Pagkakaiba sa pagitan ng Pag-andar ng Kaibigan at Class Class

May -Akda: Laura McKinney
Petsa Ng Paglikha: 1 Abril 2021
I -Update Ang Petsa: 10 Mayo 2024
Anonim
Sri Lankan Dance moves UNLEASHED 🇱🇰
Video.: Sri Lankan Dance moves UNLEASHED 🇱🇰

Nilalaman


Ang pagpapaandar ng Kaibigan at klase ng kaibigan ay ang mga pamamaraan na ginamit upang ma-access ang mga pribadong miyembro ng isang klase sa pamamagitan ng paggamit ng keyword ng kaibigan. Ang karaniwang pagkakaiba sa pagitan ng pag-andar ng kaibigan at klase ng kaibigan ay kapag ang pag-andar ng kaibigan ay ginagamit ang mga miyembro ng pribadong klase ay maaaring ma-access ngunit sa klase ng kaibigan, ang mga pangalan lamang ng kaibigan ng klase ay na-access hindi ang mga pribadong miyembro ng klase.

Ang tampok ng kaibigan ginagamit man ng pag-andar o klase ay maaaring makagawa ng isang negatibong epekto sa balangkas na nakatuon sa object dahil pinapahina nito ang encapsulation na laban sa nakatuon sa object paradigma. Ito ang dahilan ng tampok na kaibigan ay dapat gamitin nang matalino kung hindi ito magagawa pahinga ang nagtatago ng data ng code.

Ang tampok na kaibigan na ito ay hindi commutative at hindi rin palipat. Si X ay kaibigan ni Y ay hindi bababa na si Y ay kaibigan din ni X. Kung si X ay kaibigan ni Y at si Y ay kaibigan ni Z, ay hindi nagpapahiwatig na si X ay kaibigan ni Z.


    1. Tsart ng paghahambing
    2. Kahulugan
    3. Pangunahing Pagkakaiba
    4. Konklusyon

Tsart ng paghahambing

Batayan para sa paghahambingPag-andar ng KaibiganClass Class
PangunahingIto ay isang function na ginamit sa keyword ng kaibigan upang mabigyan ng pag-access ng hindi miyembro na miyembro sa mga pribadong miyembro ng isang klase.Ito ay isang klase na ginamit sa keyword ng kaibigan upang ma-access ang mga pribadong miyembro ng ibang klase.
Ipasa ang pagpapahayagDapat gamitin.Hindi sapilitan.
GumamitAng isang function ng kaibigan ay maaaring magamit sa ilang sitwasyon ng labis na karga ng operator.Ang isang klase ng kaibigan ay maaaring magamit kapag ang isang klase ay nilikha sa tuktok ng isa pang klase.


Kahulugan ng Pag-andar ng Kaibigan

Ang pagpapaandar ng kaibigan ay ginagamit upang ma-access ang pribado at protektado na mga miyembro ng isang klase sa pamamagitan ng pagpapahintulot sa pag-andar ng di-miyembro upang makakuha ng pag-access. Sa ganitong uri ng pag-andar, ang isang keyword ng kaibigan ay ginamit bago ang pangalan ng pag-andar sa oras ng pagpapahayag. Mayroong ilang mga paghihigpit na kondisyon na inilalapat sa pagpapaandar ng kaibigan. Ang unang kondisyon ay ang pag-andar ng kaibigan ay hindi minana ng isang klase ng bata. Ang pangalawang kondisyon ay ang pagtukoy ng klase ng imbakan ay maaaring hindi naroroon sa pagpapaandar ng kaibigan, na nangangahulugang hindi ito maipapahayag bilang static at panlabas.

Ang pagpapaandar ng kaibigan ay hindi tinawag na may isang panukala sa panunukso sa klase. Ang mga halimbawa ng pagpapaandar ng kaibigan ay: isang pandaigdigang pag-andar, pagpapaandar ng miyembro ng isang klase, ang template ng pag-andar ay maaaring maging function ng kaibigan. Unawain natin ito sa tulong ng isang halimbawa.

#nagsama gamit ang namespace std; unang klase {int data; pampubliko: una (int i): data (i) {} kaibigan na walang ipinapakita (const una & a); }; walang bisa na pagpapakita (const muna & a) {cout << "data =" <gamit ang namespace std; klase Una {// Ipahayag ang isang klase ng kaibigan sa klase ng kaibigan Pangalawa; pampubliko: Una (): a (0) {} walang bisa () {cout << "Ang resulta ay" << a << endl; } pribado: int a; }; klase Pangalawang {pampubliko: walang bisa pagbabago (Una at yclass, int x) {yclass.a = x; }; int main () Unang object1; Pangalawang object2; obj1. (); obj2.pagbago (obj1, 5); obj1. (); // Output Ang resulta ay 0 Ang resulta ay 5

  1. Ang pagpapaandar ng kaibigan ay isang pag-andar na ma-access ang pribado at protektado na mga miyembro ng isang klase. Sa kaibahan, ang isang klase ng kaibigan ay isang klase na makakatulong sa pag-access sa mga pribadong miyembro ng isang klase.
  2. Ang isang pag-andar ng kaibigan ay ipinahayag sa pamamagitan ng pagsasama ng prototype nito sa loob ng klase, antecede ito sa kaibigan ng keyword. Katulad nito, ang isang klase ng kaibigan ay tinukoy din gamit ang keyword na kaibigan.
  3. Ang pasulong na deklarasyon ay ginagamit kung sakaling gumana ang kaibigan, hindi kinakailangan na gamitin ito sa klase ng kaibigan.

Konklusyon

Ang isang pag-andar ng kaibigan ay kinakailangan kapag ang isang function ay kailangang ma-access ang dalawa o higit pang mga independiyenteng klase, mga panloob na miyembro. Sa kabilang banda, ang isang klase ng kaibigan ay kinakailangan kapag ang isang klase ay nangangailangan ng pag-access sa mga miyembro ng ibang klase. Kapag ang isang function ng maraming miyembro ay kailangang maging kaibigan ng pagpapaandar na iyon, sa kasong iyon, mas mahusay na gumamit ng klase ng kaibigan.