---header file----
Kód: Vybrat vše
class Test
{
public:
Test();
int zkouska();
};
---cpp file----
Kód: Vybrat vše
#include "Test.h"
Test::Test() {}
int Test::zkouska() {
return 987;
}
pote jsem ve funkci main() vytvoril pointer "dd" vytvorene tridy "Test" a priradil mu hodnotu NULL. Timto pointerem jsem vyvolal funkci tridy - zkouska() a divil jsem se, ze ji to v poradku vyvolalo a provedlo. Mel jsem za to, ze Null Pointer se na vyvolavani funkci pouzivat nemuze, ze by aplikace spadla:
Kód: Vybrat vše
int cislo=987;
Test* dd=NULL;
if (cislo==dd->zkouska()) cout<<endl<<"funguje"<<dd->zkouska();
else cout<<endl<<"nefunguje";
rozumi prosim nekdo jak je mozne, ze Null-Pointer funguje stejne jako initializovany pointer s new? Na internetu casto pisou: Avoid Null Pointer dereferencing - coz znamena, aby se Pointer initializovany s Null nepouzival jako initializovany Pointer - mel jsem zato, ze s nim tedy nejdou vyvolavat ani zadne funkce. Dekuji