类 Contain 的定义如下: class Contain { private: int x; protected: int z; public: class Embed { private: int y; public: Embed ( ) { y=100; } int Embed_Fun(); }MyEmbed; int Contain_Fun(); }; 下列对上面定义的描述中,正确的是( )。
A、定义类Embed对象的语句是:Contain::Embed Myobject;
B、类Contain的成员函数Contain_Fun()中可以访问对象MyEmbed的私有成员y
C、类Embed的成员函数Embed_Fun()中可以直接访问类Contain的所有成员
D、类Embed的成员函数Embed_Fun()中只能直接访问类Contain的公有成员
查看答案
正确答案
试题解析
解析:对象MyEmbed是类Contain的成员对象,通过对象MyEmbed不能访问其私有数据成员y,所以选项B是错误的。类Embed是类Contain的嵌套类,类Embed的成员函数不能直接访问类Contain的所有成员,所以选项C和D都是错误的。