问题
单项选择题
类 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都是错误的。