Posted By: Korusef (zmatek nad zmatek) on 'CZprogram'
Title: Re: g++ & C++
Date: Tue Jan 14 11:00:01 2003
> Protoze GetRandom neni staticka metoda tak ji musis volat s objektem, tj
> jako
> randClass.GetRandom nebo prandClass->GetRandom anebo uvnitr nestaticky
> metody
> TRandClass.
Zajimave, volani GetRandom(10) funguje, jedna se totiz o potomka te
TRandClass, takze jsem myslel, ze v tomto chyba nebude. Ale zkusil jsem
this->GetRandom( ...) a chyba uz neni, jak to?
>
> Tomu neverim, leda ze by tam byla chyba.
Humorne ze se o tom zminujes :-) Proc myslis ze jsem presel na novejsi verzi?
Puvodne jsem s tim nechtel otravovat, ale kdyz uz jsi to nacal:
Predchozi verze programu padala pri volani virtualni funkce na Seg.fault.
Nevite nekdo co s tim? kod vypada takto:
class A
{
public:
void fce1()
{
...
vfce1();
...
}
protected:
virtual void vfce1()
{
...
}
};
class B:public A
{
protected:
virtual void vfce1()
{
...
}
};
class C:public B
{
public:
void Run()
{
...
fce1();
}
};
V Run() se spravne zavola fce1(), ale kdyz se uvnitr ni pokousim volat to
vfce1(), tak mi to padne na Seg.fault.
> Jerry III
Korusef[ Libor Dener]
(-: CauCau :-)