Membervariable für statisches Textfeld in Basisklasse auslagern
-
Hallo,
ich habe mehrere Dialogfelder in denen ich eine Uhrzeit anzeigen möchte.
Da ich es nicht hinbekomme die Kontrollvariable m_cUhrzeit und Textvariable m_strUhrzeit
in eine Basisklasse auszulagern, habe ich sie bisher in der jew. Klasse erzeugt.Würde dies aber gern ändern, also habe ich die Variablen in der Basisklasse erzeugt und in den
abgeleiteten Klasse an entsprechender Stelle mittels CBasisklasse::m_cUhrzeit eingefügt.
Funktioniert aber nicht.Was mache ich falsch und wie kann man es richtig anstellen?
Gruß,
Krommi
-
Wenn es die Variable in der abgeleiteten Klasse nicht gibt, kannst du den Klassennamen weglassen.
Was ist m_cUhrzeit? Bekommst du eine Fehlermeldung?
-
Ja ich bekomme eine Fehlermeldung.
Der Konstruktor der abgeleiteten Klaase sieht wie folgt aus:
CProgrammauswahlDlg::CProgrammauswahlDlg(CWnd* pParent /* NULL */) : CDialog(CProgrammauswahlDlg::IDD, pParent) , m_strUhrzeit(_T("")) { m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINTRAME); }sobald ich nun vor das m_strUhrzeit noch CBasisklasse:: schreibe, taucht der Fehler
error C2039: 'm_strUhrzeit': Ist kein Element von 'CBasisklasse' auf.
-
Dann sollte Deine Klasse auch von der Basisklasse abgeleitet werden und diese Basisklasse wieder von CDialog!
-
Ok...Problem gelöst:
Ich habe den Eintrag aus dem Konstruktor gelöscht...funktioniert auch so.
Falls ich dadurch irgendwelche Probleme bekommen kann, teilt mir das bitte mit.Gruß,
Krommi
-
Nö, sollte keine Probleme geben, da CStrings in ihrem Standardkonstruktor mit "" initialisiert werden.
