Sprinter, meinst Du mit siluavr vielleicht simulavr? Würde ich dann mal ausprobieren. gdb ist nicht das Problem, der hat mir schon manches mal das Programmiererleben gerettet.
p_morg, so wie Du Dir das vorstellst geht es weder in C noch C++. Der Typ von a in irgendwas steht immer zur Übersetzungszeit fest. Wenn Du einen dynamischen Typ haben willst geht das in C++ über Vererbung und der Auswertung der Runtime Type Information, z.B. per dynamic_cast
Code:
class A
{
//....
};
class B
{
//....
};
class C : public A
{
//....
};
class D : public A
{
//....
};
int main()
{
A* a = 0;
B b;
C c;
D d;
a = &c;
if (dynamic_cast<C*>a != 0 ) // das wird funktionieren, Ergebnis ist true
{
}
if (dynamic_cast<B*>a != 0 ) // das nicht, das Ergebnis ist false
{
}
a = &d;
if (dynamic_cast<C*>a != 0 ) // das funktioniert jetzt nicht, Ergebnis ist false
{
}
}
Lesezeichen