Create class sablonok

Create class sablonokat.

Csak elvont funkciókra funkció sablonok, absztrakt osztályok jönnek létre alapján osztály sablonokat. Egy osztály sablon osztályát írja le, amely viszont meghatározza a tárgyat. Amikor létrehoz egy osztály sablon, amit a fordító fel a sablont, és meghatározza a W osztályú ATEM példányosítani tárgya ebben az osztályban. Mint látható, az osztályok sablonok határozzák másik absztrakciós szinten a fogalom osztályok.

4. lista Egy osztály definiálása sablon

sablon

Amikor létrehoz egy sablon objektum például az osztály meg kell adnia a adattípusok, amely helyettesítheti a sablonparaméterekhez. Például az alábbi nyilatkozatot lehet használni, hogy hozzon létre egy program objektum az osztály MyClass:

CMyClass myClass (15);

Ez a sor létrehoz egy objektumot CMyClass osztályban. amely, ahelyett, hogy egy absztrakt adattípus használ egész szám. Ha szüksége van egy osztályban dolgozni valós számok, a osztályobjektumhoz hozható létre az alábbiak szerint:

CMyClass myClass (15,75);

Vegyünk egy összetettebb példát. Tegyük fel, hogy azt szeretnénk, hogy hozzon létre egy osztályt, amely tároló a két érték, és tartalmaz egy tag függvény összehasonlítani ezeket az értékeket. 5. lista mutatja azokat FTC stb ogrammy, amely végre egy hasonló osztályú. Először is, a program határozza meg az osztály sablon nevű CCompare. Ebben az osztályban vannak tárolva két érték, hogy rendelkezésre állnak Funk kivitelező hívott. Az osztály is hagyományos konstruktor és destruktor, valamint tagsági függvények meghatározása kisebb vagy nagyobb érték, vagy ellenőrzi az egyenlőség.

5. lista - egy sablon osztály

# include

sablon

CCompare (Type arg1, Type arg2)

CCompare compare1 (15, 25);

CCompare compare2 (254,78, 12,983);

CCompare compare3 ( 'A', 'Z');

cout <<"THE COMPARE1 OBJECT" <

cout <<"Lowest: " <

cout <<"Highest: " <

cout <<"Equal: " <

cout <<"THE COMPARE2 OBJECT" <

cout <<"Lowest: " <

cout <<"Highest: " <

cout <<"Equal: " <

cout <<"THE COMPARE2 OBJECT" <

cout <<"Lowest: " <

cout <<"Highest: " <

cout <<"Equal: " <

A fő program létrehoz egy osztály-sablon három különböző objektumok, amelyek működik egész számok, a másik használ valós számok, a harmadik tárolja és összehasonlítja az típusú változók karaktert. Hozza létre a három objektum CCompare osztályban. main () függvény meghívja a tag függvény ezen objektumok megjelenítése érdekében az információt a tárolt adatok mind a három tárgyat.

Az osztály sablont a sablon funkció, megadhat tetszőleges számú paramétert. 6. lista mutatja sablon osztály, amely két különböző típusú adatokat.

sablon

CMyClass (Type1 arg1, Type2 arg2)

Ahhoz, hogy egy példányának létrehozásához class Osztalyocskam objektum használható, például, a következő sort:

CMyClass myClass (15, 'A');

Végül meg kell mondani, hogy egy osztály sablonparaméterrel, valamint a fajta hely tulajdonosai használhatják, és a különböző típusú adatok. Ez egyszerűen fogalmazva a paraméter listában egy adott adattípus egy par egyéb paramétereket. 7. kódrészlet szövege egy kis programot, amelyben a példány az objektum létrehozásakor alapján két absztrakt adattípus, és egy adott osztály sablon.

Listing 7. A különböző típusú adatok paraméterként egy sablon osztály

#include

sablon

Kapcsolódó cikkek