Mit dem folgenden Code-Schnipsel als Illustration zu meiner Frage:Differenz von Variable bei der Platzierung von privatem Schlüsselwort in einer MFC-Klasse
// #includes and other macros
class MyClass : public CFormView
{
private:
DECLARE_DYNCREATE(MyClass)
bool privateContent;
...
public:
bool publicContent;
...
};
class MusicPlayer
{
public:
AppClass *theApp; // which has a pointer accessing the MyClass object instantiated in the program
...
}
Wenn ich das Stichwort „privaten“ in MyClass Definition als solche zu platzieren, die privateContent Die Mitgliedsvariable scheint nicht privat zu sein, wenn ich versuche, in einer Methode der MusicPlayer-Klasse darauf zuzugreifen. Wenn ich jedoch das Schlüsselwort "private" nach der Zeile DECLARE_DYNCREATE (MyClass) platziere, wird das Verhalten der Membervariable privateContent auf die erwarteten Werte zurückgesetzt. Weiß jemand, warum das so ist? Danke im Voraus.
Diese Frage ist ein weiterer Beweis, dass die Makros böse sind. –