Generičko programiranje — разлика између измена

Садржај обрисан Садржај додат
Ред 620:
# Pri komplajliranju neke datoteke, kompajler mora raspolagati s potpunom implementacijom šablona. Stoga je uobičajeno da se specifikacija i implementacija funkcija zapisuje u istoj „.h“ datoteci. Makro karakter šablona se posebno očitava kod klasa koje imaju statičke članove. U tom slučaju se za svaku realizaciju šablona inicira posebno statička promenljiva (kod regularnih se klasa za sve objekte jedne klase generiše samo jedna statička promenljiva)
 
== Definicija i upotreba klase -{tvector<class T>}- ==
Generička klasa -{tvector}- predstavlja podskup standatdne klase -{vector}-. Namenjeno joj je manipulisanje s homogenim kolekcijama elemenata proizvoljnog tipa. Izvršičemo specifikaciju i implementa klase -{tvector}- temeljem znanja koja smo stekli razmatrajući generičku klasu -{array}- i klasu -{Tstring}-.
 
Objekti -{tvector}- klasse imaju sledeće karakteristike:
* -{capacity()}- – kapacitet vektor je broj ćelija koje se automatski alociraju za spremanje elemenata vektora
 
* -{size()}- – veličina vektora je broj elemenata koje stvarno sadrži vektor
 
* -{resize(n)}- – ako je potreban veći kapacitet vektora, on se može dobiti pozivom funkcije -{resize(n)}-
 
* -{operator}- [] – pojedinom elementu vektora se pristupa pomoću indeksnog operatora, ili se koriste dve funkcije:
 
** -{push_back(el)}- dodaje element na indeksu iza poslednje upisanog elementa
 
** -{pop_back(el)}- briše poslednji element iz vektora
Pri pozivu -{push_back()}- funkcije vodi se računa o kapacitetu vektoavektora i vrši se automatsko alociranje potrebne memorije (memorija se udvostručuje ako potrebna veličina vektora premašuje trenutni kapacitet). Namena ove dve funkcije je da se vektor može koristiti kao dinamička kolekcija elemenata (kontejner).
 
== Reference ==