23) Túlterhelés általános műveletek

Operator túlterhelés, akkor lehet meghatározni az értékét egy adott osztályban. Például, egy osztály, amely meghatározza a láncolt listában használja a „+”, hogy adjunk egy elemet a listából. Az osztályt, amely megvalósítja a verem, használja a „+” az írás egy objektumot a verem. Néhány más osztályban ugyanazt a „+” operátor szolgálhat egy teljesen más célt szolgál. Ha túlterhelés üzemeltetője, sem az eredeti érték nem vész el. A túlterhelt operátor (ebben az új kapacitás) működik, mint egy teljesen új üzemeltető. Ezért, túlterhelése az üzemeltető „+” feldolgozásra, például a kapcsolt lista nem fogja megváltoztatni a funkcióját (azaz az összeadást) tekintetében a egész értékek.

Operator túlterhelés szorosan kapcsolódik a funkciót túlterhelés. Túlterhelni az üzemben, meg kell határozni az értékét egy új műveletet az osztályt, amelyhez alkalmazzák. Ehhez létrehozunk egy függvényt operátor (operátor függvény), amely meghatározza az intézkedés az üzemeltető. Összesen operátor függvény formátum.

Ha túlterhelés bináris operátort használó tagja funkció átadott kifejezetten csak az egyik érv. A második mutató implicit keresztül továbbított ezt. Így, összhangban

alatt a tag jelentette this-> x kifejezés, hogy Tag kapcsolódó olyan objektum, amely kéri ezt a szolgáltató funkciót. Minden esetben implicit át a hivatkozott objektum által a bal oldalon a művelet jellegét, ami miatt a hívást kezelő funkciót. Egy tárgy található a jobb oldalon a műveleti jel jut el ez a funkció érvként. Általában, ha egy tag függvény terhelje unary paraméterek egyáltalán nem használják, és kezelik a bináris - csak az egyik paraméter. (Ternáris szereplő „?” Nem lehet túlterhelt.) Mindenesetre, az objektum, amely felhívja a kezelő függvény implicit keresztül továbbított mutató ezt.

Ezzel szemben a „+” operátor, az értékadó operátor módosítását eredményezi annak egyik érvek. (Először is, ez a lényege a hozzárendelés.) Mivel operátor = () függvényt hívjuk egy objektum, amely található a bal oldalon a hozzárendelés szimbólum (=) a tárgy és módosítjuk ennek eredményeként az értékadó operátor. E művelet után a visszaadott érték túlterhelt operátor tartalmazza az objektum megadott balra szimbólum feladat. (Ez az állapot összhangban van a hagyományos akció az üzemeltető „=”).

Öröklési - az egyik a három alapvető elveit objektumorientált programozást, mert hála ez is létrehozhat hierarchikus osztályozás. Használata öröklés, akkor létrehozhat egy általános osztály, amely meghatározza a sajátosságait figyelembe több kapcsolódó elem. Ez az osztály azután örökölte más, magasan specializált osztályok azzal a kiegészítéssel, annak minden egyes egyedi jellegét.

A szabványos C ++ nyelven terminológiát, egy osztály, amely öröklődik az úgynevezett alap. Egy osztály, amely örökli a bázis osztály neve egy származéka. A származtatott osztály lehet használni, mint a bázis egy másik származtatott osztály. Ezen a módon, és épített egy többszintű hierarchia osztályok.