Kuidas luua C++ klassi

C++ on hunnik C-le väikeseid täiendusi koos mõne suurema täiendusega. Tegelikult kutsuti C++ esmakordselt kui “C With Classes”. Üks oluline täiendus on objektorienteeritud lähenemine (teine ​​täiendus on üldise programmeerimise tugi). Nagu nimi objektorienteeritud programmeerimine viitab, käsitleb see lähenemisviis objekte. Loomulikult ei ole need päriselu objektid ise. Selle asemel on need objektid reaalse maailma objektide olulised määratlused. Üks selle suurimaid omadusi on see, et eelkäijal C puudub, on “klass”. Klassid on ühe objektitüübiga seotud andmete kogumid. Klassid ei sisalda mitte ainult teavet reaalmaailma objekti kohta, vaid ka funktsioone andmetele juurdepääsuks ning klassidel on võimalus pärida teistelt klassidelt. (Pärimist käsitletakse hilisemas õppetükis.) Klass sarnaneb paljuski C-struktuuriga ja seda kasutatakse andmete kapseldamiseks, kuid c++ abil saate muuta oma andmed (nt funktsioonid, muutujad, struktuurid jne) privaatseks, mis tähendab et neile pääsevad ligi ainult selle klassi andmeliikmed.

1
Avage oma IDE ja looge uus projekt.

2
Kui olete projekti seadistamiseks kõik läbi teinud, veenduge, et teie peamine CPP-fail näeb välja selline.

3
Loo. Klassi tegemisel on kaks võimalust; deklareerides selle peamises CPP-failis või tehes seda eraldi päises ja määratledes kõik funktsioonid eraldi CPP-failis (mis on parem viis seda teha).

4
Sisestage märksõna “klass”, millele järgneb oma klassi identifikaator või nimi, seejärel avatud sulg (mis on see { märk), sulgev sulg ja semikoolon lõpus. Valige oma klassile nimi.

5
Mõistke kolme peamist märksõna selles osas, mida nimetatakse kehaks. On veel kolm märksõna, mis tuvastavad, millel on juurdepääs kehas olevatele andmetele. Neid nimetatakse “avalikeks”, “kaitstud” ja “privaatseks”. Neid nimetatakse juurdepääsu modifikaatoriteks. Lihtsamalt öeldes pääsevad avalikele liikmetele juurde kõik ja eraliikmetele pääsevad juurde ainult klassi liikmed.

6
Määrake, mida funktsioon “printstuff()” teeb ja mis on “stufftoprint”. Selleks kasutage rakendust Scope Resolution Operator. Esmalt määrate klassi nime, minuklass, kaks koolonit ja seejärel juurdepääsetavad andmed, myclass::printstuff() ja määratlete selle nii, nagu tavaliselt määratlete funktsiooni.

7
Selle funktsiooni sees on teil täielik juurdepääs tähemassiivile “stufftoprint[5]”, seega peaksite selle määrama for-tsükliga ja seejärel printima iga märgi koos sellega. Ärge unustage selle lõpus väärtust tagastada (välja arvatud juhul, kui muutsite selle kehtetuks).

8
Minge põhifunktsiooni juurde ja helistage funktsioonile. Peate looma objekti. Objekt on see, mis võimaldab teil oma klassis olevatele muutujatele ja funktsioonidele juurde pääseda ja neid kutsuda, kuid see pääseb juurde ainult avaldamisfunktsioonidele ja muutujatele. Objekti loomiseks tippige oma klassi nimi, myclass ja seejärel nimi, mida soovite oma objektiks saada. See on peaaegu nagu oma andmetüübi määratlemine, välja arvatud see, et te ei pea seda millegagi võrdseks määrama.

9
Kutsuge funktsioon printstuff(). Selleks kirjutage oma objekti nimi, punkt (.) ja funktsiooni või muutuja nimi, millele soovite juurde pääseda. See näeks välja nagu myobject.printstuff();, mis kutsub funktsiooni välja, printides rakenduse käivitamisel välja 5 järjestikust Q-d. (Ärge unustage pausi lisada! Kasutage failis conio.h funktsiooni _getch(), sest kui te veel ei teadnud, on system() käsud KURJAD)

10
Käivitage see, oodake, kuni see kompileerub… ja ekraanile ilmus 5 Q-d (nii nagu defineerisite klassis myclass sisalduva funktsiooni printstuff(), pääsedes sellele ligi objektiga myobject).

11
Veel üks näidisprogramm: