gleicher name, anderer typ
-
hallo!
ist sowas erlaubt?enum BaseTyp
{
T_ERSTER=0,
T_ZWEITER=1,
}enum DerivedTyp
{
T_LALAL=5,
T_ZUER=8,
}class Base
{
BaseType mTyp;
}class Derived
{
DerivedTyp mTyp;
}wenn jetzt funktionen in der Derived Klasse mTyp ansprechen, sollen die werte von DerivedTyp genommen werden, funktionen der base klasse sollen die werte von BaseTyp verwenden.
-
ja
-
ich sehe keine gleichen namen
sowie du es geschrieben hast ist es erlaubt
-
mist wieder geschlafen beim schreiben
-
ich sehe keine gleichen namen
Wo ist der Unterschied zwischen mTyp und mTyp?
-
Helium schrieb:
ich sehe keine gleichen namen
Wo ist der Unterschied zwischen mTyp und mTyp?
sind aber doch member von unterschiedlichen klassen.
jetzt hast glaub ich klick gemacht.
mmmmmmuuuuuhhhhaaaa
-
Er meinte:
[cpp]
class Base
{
BaseType mTyp;
}class Derived : public Base
{
DerivedTyp mTyp;
}
[/cpp]
-
das kann garnicht erlaubt sein, weil du die ja später ohne Prefix aufrufst ala:
mTyp;
-
das kann garnicht erlaubt sein, weil du die ja später ohne Prefix aufrufst ala:
mTyp;
So ein quatsch. mTyp aus der Basisklasse müsste einfach explizit qualifiziert werden.
-
Wenn wir die Syntaxfehler mal rausmachen:
enum BaseType { T_ERSTER=0, T_ZWEITER=1 }; enum DerivedType { T_LALAL=5, T_ZUER=8 }; class Base { BaseType mTyp; }; class Derived : public Base { DerivedType mTyp; };
Sieht zwar nicht gut aus, ist aber dennoch korrekt.
-
danke ...
ist mir nur bei der "ogre engine" aufgefallen (in GpuProgram und GLGpuProgram das GpuProgramType mProgramType bzw. das GLenum mProgramType, falls wer nachschauen will :D)bye