Konstans tagfüggvények

"A const kulcsszó tagfüggvények esetében is használható, a fejlécének végére írva. A const jelentése ez esetben az, hogy az adott tagfüggvény az objektum állapotát, vagyis annak tagváltozóit nem változtatja meg." (Benedek-Levendovszky: Szoftverfejlesztés C++ nyelven)

Cáfoljuk meg az előbbi állítást azzal, hogy írunk egy olyan konstans tagfüggvényt, amely megváltoztatja a hívó objektum tagváltozóit.


A megoldásért kattints ide!
class MyClass {
   int Data;

   void MyConstFunc() const {
      MyClass *p = const_cast<MyClass*>(this);
      p->Data = 1; // Megváltoztatjuk a hívó objektum állapotát.
   }
};



2008.05.13. 21:52:46 |  Permalink  |  Hozzászólások száma: 0  |  Tárgyszavak: Fejtörők


Írja meg Ön is véleményét!


Hozzászólásokat csak regisztrált, bejelentkezett felhasználóktól tudunk elfogadni!

Hozzászólások