Tudd Intuíció, előadás osztályok
14.6. Nyomós műveletek (folytatás)
Hozzon létre egy új típusú adatokat. kellett magyarázni a fordító hogyan kell elvégezni a szokásos műveleteket (összeadás, kivonás, összehasonlítás, I / O, stb) egy új típusú tárgyak. Tény, hogy a működés - ez csak egy függvény, amelynek bemenete kap egy vagy két operandust, és fölöttük végezzük hatása miatt, és megalakította a visszatérési érték. Ebben az értelemben a hatástalanító működése gyakorlatilag nem különbözik a felülírás funkció. A művelet felülbírálja az általános formája a következő:
Itt - kijelölés operátor.
Az egyetlen különbség a felülírás funkció egy adott nevet, helyébe egy függvény neve.
Tekintettel arra, hogy fenn kell tartani a fordító, a feldolgozás logikai aritmetikai és logikai képletek, input / output eljárások, értékadó operátort, növelés és a csökkentés, három fontos korlátozások vonatkoznak a felülírás műveleteket:
- prioritás műveleteket. leírt C ++ nyelvi norma, nem lehet változtatni;
- száma operandusok, melyet eredetileg meghirdetett nyelven kell tartani az egyes műveletek;
- nem írhatja felül a műveletet. „” (Separator vegyület neve) (címet területén az objektum egy pointer), '::' (specifikátor kellékek) '*' '?' (Feltételes kifejezés) '#' (előfeldolgozó irányelv), a '##' (összefűzése a előfeldolgozó).
Írásban emlékeznünk kell arra, hogy az az érv a1 eljárás felülírja kettős működését. balra található a jel műveleteket. Továbbításra kerül a tag funkció az osztály két módon. Először is, mint a mező az objektum nyilvánították osztály adattag. Másodszor, mint egy rejtett pointer e. Ezért az első operandus a művelet érvként, hogy felülbírálja a funkció nem jelezték.
Egy másik korlátja az felülbírálja a műveletet abban a tényben rejlik, hogy ezek között a paraméterek nem használhatja az alapértelmezett értékeket.
Tekintsük felülírva megvalósítási módok egy példát a műveletek kettős Tpoint osztályban. képviselő egy pont egy pár egész koordinátákat:
összeadási művelet bejelentett, a fenti példában a második kifejezés értéket vesz fel. Ezért a leírás az új eljárás a következők lehetnek: