Pagkakaiba sa pagitan ng Istraktura at Klase

May -Akda: Laura McKinney
Petsa Ng Paglikha: 1 Abril 2021
I -Update Ang Petsa: 5 Mayo 2024
Anonim
WHAT ARE THE DIFFERENT CLASS OF AXIES IN AXIE INFINITY? | 9 AXIE CLASS ADVANTAGES AND WEAKNESSES #PH
Video.: WHAT ARE THE DIFFERENT CLASS OF AXIES IN AXIE INFINITY? | 9 AXIE CLASS ADVANTAGES AND WEAKNESSES #PH

Nilalaman


Parehong isang istraktura at isang klase ay nagbibigay ng isang paraan upang lumikha ng isang pasadyang uri ng data na maaaring magamit pa upang lumikha ng mga pagkakataon. Pinapalawak ng C ++ ang papel ng istraktura upang lumikha ng isang klase. Parehong istraktura at klase, ay magkakapareho sa lahat ng paggalang maliban sa isang pagkakaiba na, ang istraktura nang default ay lahat ng miyembro nito bilang "pampubliko", at default sa lahat ng miyembro nito "pribado". Pag-aralan natin ang pagkakaiba sa pagitan ng istraktura at klase sa pamamagitan ng paggamit ng tsart ng paghahambing.

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

Tsart ng paghahambing

Batayan para sa PaghahambingIstrakturaKlase
Pangunahing Kung ang pag-access ng specifier ay hindi ipinahayag, sa pamamagitan ng default ang lahat ng miyembro ay publiko.Kung hindi idineklara ang pag-access ng specifier, bilang default ang lahat ng mga miyembro ay pribado.
Deklarasyon istruktura_name {
uri ng istruktura_element 1;
uri ng struct_element 2;
uri ng istruktura_element 3;
.
.
.
};
class_name ng klase {
miyembro ng data;
function ng miyembro;
};
Pag-institusyon Ang pag-install ng istraktura ay tinatawag na variable variable.Ang pag-install ng isang klase ay tinatawag na object.


Kahulugan ng Istraktura

Ang isang istraktura ay isang koleksyon ng mga variable ng mga hindi magkakaibang uri ng data, lahat ay tinukoy ng isang pangalan. Ang isang pagpapahayag ng istraktura ay bumubuo ng isang template na ginagamit upang lumikha ng isang halimbawa ng istraktura. Ang istraktura ay ipinahayag bilang sundin.

istrukturang sname {type struct_element1; uri ng struct_element2; uri ng struct_element3; . . . } variable1, variable2 ,. . .;

Ang keyword na 'istraktura' ay tumutukoy sa tagatala na ang isang istraktura ay ipinahayag. Ang 'sname' ay kumakatawan sa pangalang ibinigay sa istraktura. Ang deklarasyon ng istraktura ay palaging tinatapos ng isang semicolon, dahil ito ay itinuturing bilang isang pahayag. Maaari mong ipahayag ang mga pagkakataon ng istraktura bago ang pagwawakas tulad ng ginawa sa itaas na code (variable1, variable2) o maaari mong ipahayag ang halimbawa ng istraktura sa pangunahing (), sa pamamagitan ng pagsulat ng pangalan ng halimbawa na nauna sa pangalan ng istraktura.


// halimbawa. pangunahing () {sname S1, S2; }

Narito ang S1 at S2 ay ang mga pagkakataon ng istraktura. Ang mga pagkakataon ng istraktura ay tinatawag na "variable variable". Ang sangkap na ipinahayag sa loob ng katawan ng istraktura ay maaaring ma-access sa pamamagitan ng mga variable na istraktura sa pamamagitan ng paggamit ng tuldok (.) Operator.

// halimbawa S1. istruktura_element1;

  • Ang hanay ng istraktura ay maaari ring malikha, para dito, kailangan mo munang magpahayag ng isang istraktura at pagkatapos, ipahayag ang isang hanay ng ganitong uri.

// sample struct sname sarray;

Sa itaas na pahayag ay lumilikha ng isang array na may pangalang 'sarray' na naglalaman ng sampung variable, at ang bawat variable ay isinaayos bilang tinukoy sa 'sname'.

  • Maaari mong ipasa ang isang miyembro ng istraktura sa isang function, at maaari mong ipasa ang isang buong istraktura sa isang function.
  • Tulad ng, pointer ng integer, array pointer, isang pointer ng istraktura ay maaari ring ipahayag sa pamamagitan ng paglalagay ng '*' sa harap ng pangalan ng variable variable.

// sample struct sname * S1;

Tandaan:

Ang mga elemento ng 'istraktura' ay naka-imbak sa isang magkakasamang lokasyon ng memorya.

Kahulugan ng Klase

Tinukoy ng klase sa OOP ang isang bagong uri na naglalaman ng mga miyembro ng data at function ng miyembro, na ginagamit upang ma-access ang mga miyembro ng data ng klase. Ang mga pagkakataon ng mga klase ay tinatawag na "mga bagay" na bawat isa ay may parehong samahan bilang isang klase. Ang klase ay isang lohikal na abstraction, samantalang, ang isang bagay ay may pisikal na pagkakaroon. Ang klase ay syntactically katulad sa istraktura. Ang klase ay maaaring ipinahayag bilang sundin.

klase ng klase_name {pribadong mga miyembro ng data at mga function ng miyembro. access_specifier type data_member; type mem_funct (listahan ng parameter) {. . } listahan ng bagay;

Dito, ang klase ay isang keyword na nagpapahayag sa tagatala na ipinahayag ng isang klase. Ang pangunahing tampok ng OOP ay ang pagtatago ng data na kung saan ay nakamit sa pamamagitan ng pagbibigay ng tatlong access specifiers na "pampubliko", "pribado", "protektado". Kung hindi mo tinukoy ang anumang access specifier sa klase habang nagdedeklara ng mga miyembro ng data o mga function ng miyembro, sa default lahat ay itinuturing na pribado. Pinapayagan ng pampublikong access specifier, pag-andar o data na mai-access ng iba pang mga bahagi ng iyong programa. Ang mga pribadong miyembro ng klase ay maaari lamang mai-access ng isang miyembro ng klase na iyon. Ang protektadong access specifier ay inilalapat sa panahon ng mana. Kapag idineklara mo ang access specifier, hindi ito mababago sa buong programa.

Ang mga bagay ay walang anuman kundi ang halimbawa ng mga klase. Ang mga miyembro ng klase ay na-access ng object ng parehong klase gamit ang isang tuldok (.) Operator.

//object.mem_funct (argumento);

  • Ang bagay ay maaari ring maipasa bilang isang argumento sa isang function.
  • Ang pointer sa isang bagay ay maaari ring malikha.
  1. Ang pangunahing pagkakaiba sa pagitan ng mga istruktura at klase ay sa pamamagitan ng default lahat ng mga miyembro ng istraktura ay pampublikong samantalang, sa pamamagitan ng default ang lahat ng mga miyembro ng klase ay pribado.

Pagkakatulad:

  • Sa C ++ kapwa ang istraktura at klase ay katumbas ng syntactically.
  • Ang parehong istraktura at klase ay maaaring magpahayag ng ilang mga miyembro ng pribado.
  • Ang pangalan ng isang istraktura o klase ay maaaring magamit bilang isang pang-iisa na uri.
  • Ang parehong istraktura at isang klase ay sumusuporta sa mekanismo ng mana.

Konklusyon:

Ang istraktura sa C ay may ilan sa mga limitasyon dahil ang istraktura ay hindi pinahihintulutan ang pagtatago ng data, ang datatype ng 'struktura' ay hindi maaaring tratuhin tulad ng mga built-in na uri, ang mga istraktura ay hindi sumusuporta sa mana. Ang istruktura sa C ++ ay nagapi ang mga limitasyong ito. Sa C ++, ang mga klase ay pinalawak na bersyon ng istraktura. Nahanap ng programmer na madaling gamitin ang klase upang hawakan ang data at gumana pareho at istraktura lamang upang hawakan ang data.