次のコードスニペットを私の質問の例として使用します。
// #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
...
}
MyClass定義にキーワード「private」をそのまま配置すると、MusicPlayerクラスのメソッドでアクセスしようとすると、privateContentメンバー変数がプライベートに表示されません。ただし、DECLARE_DYNCREATE(MyClass)行の後に「private」キーワードを配置すると、privateContentメンバー変数の動作は期待どおりに戻ります。なぜこれが当てはまるのか誰かが知っていますか?前もって感謝します。