Prikazujem rezultate 1 do 10 od 10

Tema: [Tutorial] Predlošci klasa (C++)

  1. #1

    [Tutorial]SPredlošci klasa (C++)

    Evo jedne poprilično naprednije teme za C++ programere. Riječ je o predlošcima klasa. Naime, postoje predlošci funkcija kojima definiramo "familije" srodnih funkcija koji rade isti posao nad različitim tipovima podataka, no predlošci klasa puno detaljnije definiraju sam tip podatka.

    Zapravo, predlošcima klasa omogućavamo da za već postojeće podatke i strukture dodamo nove mogućnosti neovisno o tome od čega se one sastojale. Primjerice, elementima polja u C++u možemo pristupati samo preko indeksa, no bilo kakve druge operacije s poljima moramo sami napisati.

    Sada ćemo predloškom klase definirati novi tip podatka koji će predstavljati polje proizvoljnog tipa, no ono će za razliku od običnog polja imati i dodatne mogućnosti poput da nam kaže koliko ima elemenata u polju, i da li se neka vrijednost nalazi u tom polju.

    Code:
    #include <iostream.h>
    
    template <class T>
    class Polje
    {
    	public:
    		T* polje;
    		int BrojElemenata;
    
    		Polje(int n);
    		~Polje() {delete[]Spolje;}
    		int Sadrzi(T vrijednost);
    };
    
    template <class T> Polje<T>::Polje(int n)
    {
    	BrojElemenata = n;
    	polje = new T[n];
    }
    
    template <class T> int Polje<T>::Sadrzi(T Vrijednost)
    {
    	int pom = 0;
    	for(int i = 0; i < BrojElemenata; i++)
    		if(polje[i]S== Vrijednost)
    			pom = 1;
    	return pom;
    }
    
    int main()
    {
            // kreiraj polje cijelih brojeva od 100 elemenata
    	Polje <int> A(100);
    
            // inicijalizacije polja
    	for(int i = 0; i < 100; i++)
    		A.polje[i]S= i;
    
            // da li se u polju nalazi broj 99?
    	cout << A.Sadrzi(99);
    
            // koliki je broj elemenata
    	cout << A.BrojElemenata;
    
    	return 0;
    }
    U ovom slučaju varijabla A predstavlja int polje od 100 elemenata, ali za razliku od običnog polja možemo odmah doznati broj elemenata i da li se neka vrijednost nalazi u polju. Mogućnosti su bezbrojne i samo trebate smisliti i dodati neku novu funkcionalnost za rad s poljima, no to nikako ne bi bilo moguće da ne postoje predlošci funkcija i klasa.

    Kao što sam i napomenuo, ovo je dosta napredan aspekt programiranja u C++u pa zato nemojte se previše kriviti ako odmah ne razumijete, a ako bude pitanja, tu sam

    pozdrav
    AMD Athlon 64, 6000+ X2
    4 GB Ram 800 MHZ
    8800 GT, 1GB

    http://www.programiranje.big-forum.net

  2. #2
    Senior Member Respawned sorcerer
    Datum registracije
    Oct 2007
    Lokacija
    Lara Croft Mansion
    Postova
    1.636
    Hvala
    Odlican tutorial

  3. #3
    Senior Member Small step for mankind
    Datum registracije
    Aug 2007
    Lokacija
    Latitude:45.286° Longitude:18.688°
    Postova
    2.150
    Dobar tekst! GG Tracer...
    Gdje je nestao mozak
    gdje se skriva on
    iz vagona pameti
    na tračnice ispao...

  4. #4
    = Citat = Izvorno postao RayDX
    Dobar tekst! GG Tracer...
    SThx GG?
    AMD Athlon 64, 6000+ X2
    4 GB Ram 800 MHZ
    8800 GT, 1GB

    http://www.programiranje.big-forum.net

  5. #5
    Senior Member Small step for mankind
    Datum registracije
    Aug 2007
    Lokacija
    Latitude:45.286° Longitude:18.688°
    Postova
    2.150
    = Citat = Izvorno postao Tracer
    = Citat = Izvorno postao RayDX
    Dobar tekst! GG Tracer...
    SThx GG?
    Good Game (akronim/leet stuff)
    Gdje je nestao mozak
    gdje se skriva on
    iz vagona pameti
    na tračnice ispao...

  6. #6
    Senior Member My way or the highway
    Datum registracije
    Dec 2006
    Lokacija
    Behind the blue eyes
    Postova
    7.757
    vgg

  7. #7
    Senior Member Respawned sorcerer
    Datum registracije
    Oct 2007
    Lokacija
    Jebem radoznale
    Postova
    1.209
    Super good game

    Nice tutorial ^^

    btw,kad izlazi knjiga?
    Ja već štedim
    = Citat = Izvorno postao Fenrir
    ...Onda se pobereš doma gdje isplačeš potisnuti bijes,staviš si frišku crnu maskaru na oči i metneš na plejlistu diskografiju tokyo hotela...
    Sickmanno1:Meni se na te spike dize

  8. #8
    = Citat = Izvorno postao Plexihack
    Super good game

    Nice tutorial ^^

    btw,kad izlazi knjiga?
    Ja već štedim
    Bude se još par mjeseci sigurno čekalo zbog dizajna, tiska itd... Stigneš uštediti
    AMD Athlon 64, 6000+ X2
    4 GB Ram 800 MHZ
    8800 GT, 1GB

    http://www.programiranje.big-forum.net

  9. #9
    Senior Member Respawned sorcerer
    Datum registracije
    Oct 2007
    Lokacija
    Jebem radoznale
    Postova
    1.209
    = Citat = Izvorno postao Tracer
    = Citat = Izvorno postao Plexihack
    Super good game

    Nice tutorial ^^

    btw,kad izlazi knjiga?
    Ja već štedim
    Bude se još par mjeseci sigurno čekalo zbog dizajna, tiska itd... Stigneš uštediti


    Za par mjeseci ja to potrošim i uštedim 5 puta xD
    = Citat = Izvorno postao Fenrir
    ...Onda se pobereš doma gdje isplačeš potisnuti bijes,staviš si frišku crnu maskaru na oči i metneš na plejlistu diskografiju tokyo hotela...
    Sickmanno1:Meni se na te spike dize

  10. #10
    = Citat = Izvorno postao Plexihack
    = Citat = Izvorno postao Tracer
    = Citat = Izvorno postao Plexihack
    Super good game

    Nice tutorial ^^

    btw,kad izlazi knjiga?
    Ja već štedim
    Bude se još par mjeseci sigurno čekalo zbog dizajna, tiska itd... Stigneš uštediti


    Za par mjeseci ja to potrošim i uštedim 5 puta xD
    Eto, onda nije problem
    AMD Athlon 64, 6000+ X2
    4 GB Ram 800 MHZ
    8800 GT, 1GB

    http://www.programiranje.big-forum.net

Slične teme

  1. Nova GW2 klasa!
    By Windwalker in forum Gaming općenito
    Odgovora: 9
    Posljednji post: 01-04-2011, 22:16
  2. Najdraza klasa i zasto?
    By NowA in forum Gaming općenito
    Odgovora: 110
    Posljednji post: 17-02-2009, 20:05
  3. solo klasa
    By Malfurion in forum World Of Warcraft
    Odgovora: 47
    Posljednji post: 11-10-2006, 08:38
  4. Predlošci (dizajnovi) za blog!!!
    By hellrider in forum Alt-F4
    Odgovora: 8
    Posljednji post: 15-05-2006, 21:07

Pravila postanja

  • Ne možeš stvarati nove teme
  • Ne možeš odgovarati na postove
  • Ne možeš slati privitke
  • Ne možeš mijenjati svoje postove
  •