Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Predložak klase

[es] :: C/C++ programiranje :: C/C++ za početnike :: Predložak klase

[ Pregleda: 3273 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

itf
Zagreb

Član broj: 59794
Poruke: 993
161.53.55.*



+9 Profil

icon Predložak klase01.08.2006. u 12:06 - pre 214 meseci
Može li mi itko na smislenom primjeru objasniti gdje se koristi predložak klase? Općenito, koristim predloške funkcija i znam čemu to, ali za predložak klase ne znam gdje to iskoristiti.
 
Odgovor na temu

Časlav Ilić
Braunšvajg, Nemačka

Član broj: 4945
Poruke: 565
*.lstm.uni-erlangen.de.



+27 Profil

icon Re: Predložak klase01.08.2006. u 12:52 - pre 214 meseci
Jedan primer koji je meni zatrebao, je tip matrice (u matematičkom smislu, znači sabiranje, množenje, itd.) sa proizvoljnim tipom elemenata — celi brojevi, racionalni (opet posebna klasa), u pokretnom zarezu sa različitom tačnošću...
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
161.53.55.*



+9 Profil

icon Re: Predložak klase01.08.2006. u 12:55 - pre 214 meseci
Opet mi se to čini da se može rješiti i predloškom funkcije...

Može li itko napisati ikakav primjer (programski kod) i na tome prikazati čemu to služi? Hvala
 
Odgovor na temu

Časlav Ilić
Braunšvajg, Nemačka

Član broj: 4945
Poruke: 565
*.lstm.uni-erlangen.de.



+27 Profil

icon Re: Predložak klase01.08.2006. u 13:03 - pre 214 meseci
Kako predloškom funkcije? Hoću da mogu da napišem nešto ovako:

Code:

Matrix<Rational> A(5);
Matrix<Rational> B(5);
...
Matrix<Rational> C = A * B;

 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
161.53.55.*



+9 Profil

icon Re: Predložak klase01.08.2006. u 13:25 - pre 214 meseci
Ok, kužim.
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.cmu.carnet.hr.

Sajt: www.dump.hr


Profil

icon Re: Predložak klase01.08.2006. u 15:40 - pre 214 meseci
Jesi ikada vidio stl::containers
 
Odgovor na temu

kiklop74
Darko Miletić
Buenos Aires

Član broj: 78422
Poruke: 569
*.fibertel.com.ar.

Sajt: ar.linkedin.com/pub/darko..


+13 Profil

icon Re: Predložak klase01.08.2006. u 16:13 - pre 214 meseci
Nabavi knjigu "c++ primer" od Stanley B. Lippman-a . Tu ti je sve do u sitna crveca objasnjeno.


Tko leti vrijedi
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4901
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Predložak klase01.08.2006. u 16:31 - pre 214 meseci
Evo jedan primer, kada ja koristim "predložak klase", ako sam dobro shvatio
šta je predložak klase:

Na primer, jedna od cestih situacija u programiranju je:

Code:

ObjekatTipa1->Enabled = false;
ObjekatTipa2->Enabled = false;
ObjekatTipa3->Enabled = false;

UradiNesto();

ObjekatTipa1->Enabled = true;
ObjekatTipa2->Enabled = true;
ObjekatTipa3->Enabled = true;


E sad, ovde je problem sto ako nesto pukne u UradiNesto(), ni jedan Enabled = true
nece biti izvrsen. try/finally nije deo C++ jezika a u BCB-u i nije pouzdan. Poseban
slucaj je ako imas "return" negde ranije pa moras da vodis racuna da prethodno i
tu Enable-ujes objekte.

Tada se poseze za takozvanim RAII mehanizmom (kao kod std::auto_ptr) koji garantuje
da ce nakon izlaska iz scope-a biti izvrsen destruktor objekta.

Da ne bih pisao posebnu RAII klasu za svaki tip podataka, evo jednog resenja i to
za VCL, jer ga koristis:


--- H ---
Code:

template<typename TRAIIDisablerEnabler>class TRAII_DisableEnable
{
   TRAIIDisablerEnabler * AObjectToControl;

   public:
   TRAII_DisableEnable( TRAIIDisablerEnabler * ObjectToControl )
   {
      AObjectToControl = ObjectToControl;

      if( AObjectToControl )
      {
         AObjectToControl->Enabled = false;
      }
   }

   virtual ~TRAII_DisableEnable()
   {
     if( AObjectToControl )
       AObjectToControl->Enabled = true;
   }
};


--- CPP ---
Code:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TRAII_DisableEnable<TButton> E1( Button1 );
    TRAII_DisableEnable<TCheckBox> E2( CheckBox1 );

   // UradiNesto(); 
   Sleep( 3000 );

    // destruktor ce sve vratiti na mesto Enabled = true;
}

 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
161.53.55.*



+9 Profil

icon Re: Predložak klase02.08.2006. u 07:56 - pre 214 meseci
Da... fora je u destruktoru. Hvala
 
Odgovor na temu

kiklop74
Darko Miletić
Buenos Aires

Član broj: 78422
Poruke: 569
*.fibertel.com.ar.

Sajt: ar.linkedin.com/pub/darko..


+13 Profil

icon Re: Predložak klase02.08.2006. u 23:51 - pre 214 meseci
ako je predlozak - template sta je onda ulozak ?

Da cujem predloge :)


Tko leti vrijedi
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Predložak klase

[ Pregleda: 3273 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.