类 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的公有成员
参考答案:A
解析: 对象MyEmbed是类Contain的成员对象,通过对象MyEmbed不能访问其私有数据成员y,所以选项B是错误的。 类Embed是类Contain的嵌套类,类Embed的成员函数不能直接访问类Contain的所有成员,所以选项C和D都是错误的。