/* 2. felev, uj tematika, C++ nyelv A C++ obj,orient.tulajdonsagai 10. gyak GEPESZ Objektumok dinamikus letrehozasa, Uj muveletek hozzarendelese az operatorokhoz, Dinamikus adatszerkezetek. */ // 1. prg.: Peldat mutat a Lista osztaly felhasznalasaval a fenti temakra. #include #include #include typedef char nevtip[25]; //felhasznaloi tipus nevek tarolasara class Lista //absztrakt alaposztaly, ha van tisztan virtualis fv-e //es akkor nem szarmaztathato belole egyed!!! //most NEM absztrakt alaposztaly! {protected: int elemszam; //protected, hogy az oroklo osztalyok //tagfuggvenyeiben is lassuk oket nevtip * nevek; public: Lista(int elemszam0=0); //konstruktor, default 0 elemszammal Lista(){}; //semmittevo konstruktor tombok letrehozasahoz ~Lista(); //destruktor int Elemszama(){return elemszam;} // Operatorok atdefinialasa (operator overloading): //A nevek[i] elem elerese az objektum nevevel, pl.: ls1[i] alakban: nevtip& operator[] (int i){return nevek[i];} // Ket lista kozott az ls1 < ls2 relacio ertelmezese: int operator< (Lista masiklista) {return elemszam=ls2"); //operator += strcpy(ls1[0],"Ankli Katalin"); //ertekadasok [] operatorral strcpy(ls1[1],"Berta Adolf"); strcpy(ls1[2],"Balogh Lujza");// 5 elemu lista egyik neve strcpy(ls1[3],"Csupor Albin"); strcpy(ls1[4],"Zala Lajos"); strcpy(ls2[0],"Aba Kazimir"); strcpy(ls2[1],"Bederna Kazimir"); strcpy(ls2[2],"Elek Levente"); // 6 elemu lista egyik neve strcpy(ls2[3],"Kocsis Klotild"); strcpy(ls2[4],"Kelemen Lilla"); strcpy(ls2[5],"Simonyi Antal"); ls1+=ls2; // a += operator hasznalata puts("Az 5 elemu listahoz a 6 elemut hozzaadva a kapott lista elemei:"); for (int i=0; i