Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 8. Gyakorlat Operator overloading II.

Hasonló előadás


Az előadások a következő témára: "UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 8. Gyakorlat Operator overloading II."— Előadás másolata:

1 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 8. Gyakorlat Operator overloading II.

2 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS friend függvények  Lehetőség van olyan osztályon kívüli függvények írására, melyek hozzáférnek az adott osztály private adattagjaihoz, sőt megtehető az is, hogy egy osztály függvénye hozzáfér egy másik osztály private adattagjaihoz.  Ezt úgy tehetjük meg, hogy felvesszük a függvény fejlécét az adott osztályba, a függvény fejléc elé pedig odatesszük a friend kulcsszót.

3 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS friend függvények & operator overloading  Az operátor overloading techikánál is már használhatóak a friend függvények.  Eddig megtehettük ezt: Obj a; a + 2;  De a (2 + a) már nem tehetjük meg, mert szintaxis szerint a bal oldalon kell állnia az objektumnak.  De azt megtehetjük, hogy a global scope-ba írunk egy 2 paraméteres operátor overloadingot megfelelő paraméter sorrenddel és ezt felvesszük friend függvényként az osztályba.

4 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS [ ] operátor  Szintaxis: Visszatérési_Tipus operator[] ( int i );  Segítségével az objektumunkat úgy tudjuk kezelni, mint, ha az egy tömb lenne.  Akkor van értelme a használatának, ha az osztály rendelkezik valamilyen adatszerkezettel (tömb, vektor,stb) és annak az elemeivel térünk vissza.

5 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS ( ) operátor  Szintaxis: Visszatérési_Tipus operator()( paraméterek );  Paraméterszámára nincs korlát.  Segítségével az objektumot lehet úgy „kezelni mint egy függvényt.”

6 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS ++ operátor  Megkülönböztetünk prefix és postfix operátort ezek között.  Prefix szintaxis: Visszatérési_Tipus operator++();  Postfix szintaxis: Visszatérési_Tipus operator++( int );  A postfix operátornál az int paramétert nem kell használni, csak jelzés a fordítónak, hogy ez egy postfix operátor.  (Általában) a különbség post- és prefix operátor között, hogy postfixnél a változatlan objektummal kell visszatérni növelés után, míg prefixnél megváltoztatjuk az objektumot és utána térünk vissza vele.

7 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS -- operátor  Mint a ++ operátor…

8 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS = operátor  Működése megegyezik a copy konstruktorral.  Szintaxis: Visszatérési_Tipus operator=( Adott_Osztály& );

9 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS << operátor  Lehetőség van az objektumokat „bekötni” a kiíró bájtsorba.  Pl: Tort a( 2,3 ); cout << a << endl;  Ezeket az operátor overloading-okat a global scope-ba érdemes csinálni és utána friendként felvenni az osztályba, mivel 2 paraméterrel rendelkeznek: ostream referencia, kiírandó osztály referencia.  Függvény fejléc szintaxis: friend ostream& operator<<( ostream&, Adott_Osztály& );

10 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS >> operátor  Hasonló a << operátorhoz, itt azonban a beolvasó bájtsorhoz köthetjük az objektumunkat


Letölteni ppt "UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 8. Gyakorlat Operator overloading II."

Hasonló előadás


Google Hirdetések