Verstehe einen Ausdruck net...



  • Hallo
    Ich ackere grad das nette buch durch
    Visual C++ in 21 Tagen

    und den Ausdruck verstehich irgendwie net im Geringsten:
    CGrafikDlg *lpWnd = (CGrafikDlg*)pWnd;

    kann mir das jemand erkläre?

    und was bedeutet (Klasse*)...

    danke für hilfe..



  • Original erstellt von <Alex>:
    Hallo
    Ich ackere grad das nette buch durch
    Visual C++ in 21 Tagen.

    Wenn die das so machen ist das ein Scheißbuch.

    Original erstellt von <Alex>:
    **und den Ausdruck verstehich irgendwie net im Geringsten:
    CGrafikDlg *lpWnd = (CGrafikDlg*)pWnd;
    **

    Castet ein CWnd-Pointer auf einen CGrafikDlg-Pointer

    Original erstellt von <Alex>:
    und was bedeutet (Klasse)...*

    Das * dahinter bedeutet Pointer. d.h. es wird auf eine Speicherstelle gezeigt an der sich das Objekt befindet. (CGrafikDlg*) ist ein C-Style-Cast und wandelt das CWnd* in ein CGrafikDlg*, damit man wieder Zugriff auf die Dialogfunktionen hat. Den hat man bei einem CWnd* nicht. Casts sind aber oft die Folgen eines Designfehlers, manchmal aber nötig.

    MfG,

    MaSTaH 😉



  • Tipp: Guck mal in den C++-FAQ unter Pointern und Casts nach 😉 .


Anmelden zum Antworten