[ DDMM @ 06.10.2004. 18:00 ] @
Code:

struct A
 {
   // konstruktori destruktori i ostalo ...
  
 
 // ovo je bitno
  vritual void radi()  {       radi()const; /* ovo ocu a nece*/ }
  vritual void radi()const{  /* ovde vec ide nesto*/}
 };


Kako da iz ne-const f-je clanice pozovem const f-ju clanicu?
F-je su po parametrima potpuno iste i imaju isto ime.

F-je ne moraju ba da budu virtualne ali teko kod izvodjenja sve ima smisla.
Za to i stavih da je radi virtual.





[ Dragi Tata @ 07.10.2004. 13:13 ] @
Code:

struct A
 {
   // konstruktori destruktori i ostalo ...
  
 
 // ovo je bitno
  void radi()  {((const A*)this)->radi(); /* sad oce*/ }
  void radi() const{ cout << "const radi"; }
 };


Napominjem da ja ovako nešto nikad ne bih radio, već bih odvojio "logiku" funkcije radi u posebnu private const funkciju koju bih pozivao iz obe verzije radi().
[ DDMM @ 08.10.2004. 17:30 ] @
Yes ruzno, al' izgleda da drugacije ne moze.
Citat:
((const A*)this)->radi();


Citat:

Napominjem da ja ovako nešto nikad ne bih radio, već bih odvojio "logiku" funkcije radi u posebnu private const funkciju koju bih pozivao iz obe verzije radi().


U problemu koji sam imao uradio sam nesto slicno ... ... ...

Ovaj primer je ociscen od skrivalica ( protected/private ) da bih sto bolje izlozio sustinu pitanja.

... ... ... ...