C++ ban mi értelme van a classoknak?
Szerintem kezd újból az egész könyvet mert butaságokat írsz.
a class kulcsszóval hozol létre osztályokat például:
/*Itt létrehozol egy osztályt a CAT nevűt és az,hogy mire képes ez az osztály azt megtudod abból,hogy milyen tagfüggvényeket,tagváltozókat tartalmaz.
class CAT
{
public:
void SetAge(int age);
/*tartalmaz egy függvényt ami beállítja a macska életkorát ez a SetAge függvény.*/
int GetAge()const; /*tartalmaz egy GetAge függvényt ami vissza adja az itsAge változót(visszaadja a macska életkorát).*/
private:
int itsAge; /*ebben a tagváltozóban tárolod a macska életkorát*/
};
/*Most meg írod a definíciójukat az osztályban levő tagfüggvényeknek(metódusoknak). */
//Ez a függvény állítsa át az életkorát a macskádnak.
void CAT::SetAge(int x)
{itsAge = x;}
int CAT::GetAge()const
{return itsAge;} //Ez adja vissza az életkorát
//main kezdődik
int main()
{
/*class kulcsszóval létrehoztad a macskáid típusát az az a CAT típust(pl olyat mint az in,short ezek is típusok csak előre beépítettek)
változó esetében:
int x;
Objektumok esetében:
CAT Bolyhos;
CAT a típusa Bolyhos pedig a neve. */
CAT Bolyhos;
cout <<"Bolyhos macskám most "<< Bolyhos.GetAge() <<" éves \n"; //Itt ki írattuk az életkorát.
//De most át állítjuk:
Bolyhos.SetAge(2);
cout <<"Bolyhos macskám most "<< Bolyhos.GetAge() <<" éves \n";
return 0;
}
/*Ez az Objektum orientált programozási stílus ha így írod a programjaid OO-ba akkor gyorsabban futnak és átláthatóbb,újra felhasználható az egész.
/*
Kezd elölről azt a részt!
Az elsőn látszik, hogy fogalma nincs ezekről a dolgokról. Csak okosít.
Igen, igazad van kérdező, a classok tökéletesen helyettesíthetők, gyakorlatilag minden C++ program lefordítható C-re. Ami miatt mégis classokat használunk az az olvashatóság, karbantarthatóság, egyszerűség. Sokkal könnyebb úgy együtt kezelni ezeket az adatokat, ha a fordító elintézi helyettünk a részleteket. Gyakorlatilag absztrakciós szinteket húzunk az egyszerű függvényvégrehajtás fölé, amit a konkrét gépi kód csinál. Ilyen a template is, meg lehet csinálni anélkül is sokmindent, de sokkal elegánsabb, és az elegáns általában jobb programozásban.
Illetve van, amit nem lehet megcsinálni ilyen-olyan eszközök nélkül, ott van például híres példaként a sort() vs qsort(). A C++-ban lévő sort() egy template, és általában gyorsabb, mint a C-s qsort(), pedig valószínűleg mindkettő programozói ismerték a quicksort ideális implementációját. A classoknál is vannak érdekes dolgok, például az exception safe dolgok, a RAII (keress rá, egyik legjobb dolog amit a C++ tud nyújtani), amiket ha nem is lehetetlen, de nehézkes sima C-ben elérni.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!