问题 单项选择题

类 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都是错误的。

单项选择题
单项选择题 案例分析题