首页/ 题库 / [单选题]类 Contain 的定义如下: cla的答案

类 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(); }; 下列对上面定义的描述中,正确的是( )。

单选题
2021-12-31 19:56
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都是错误的。

标签:
感兴趣题目
在下面的类定义中,错误的语句是class Sample { public: Sample(int val); //①~Sample(): //②private: int a=2.5; //③Sample(); //④ };
在下面的类定义中,错误的语句是( )。 class Sample { public: Sample(int val); //① ~Sample(): //② private: int a=2.5; //③ Sample(); //④ };
有如下类定义: class MyClass{ int value; public: MyClass(int n):value(n){} int getValueconst{retum value;} }; 则类MyClass的构造函数的个数是( )。
类MyClass的定义如下: class MyClass { public: MyClass(){value=0;} SetVariable(int i){value=i;) private: int value; }; 则对下列语句序列正确的描述是( )。
类MyClass的定义如下,若要对value赋值,则下面语句正确的是( )。 class MyClass { public: MyClass(){} MyClass(int i){value=new int(i);} int*value; };
类MyClass的定义如下: class MyClass { public: MyClass(){value=0;} SetVariable(int i){value=i;} private: int value; }; 则对下列语句序列正确的描述是( )。
若有以下程序: #include <iostream> using namespace std; class A { private: int a; public: void seta(int x) { a=x; } void showa() { cout<<a<<","; } }; class B { private: int b; public: void setb (int x) { b=x; } void showb() { cout<<b<<","; } }; class C :public A,private B { private: int c; public: void setc(int x, inc y, int z) { c=z; seta (x); setb (y); } void showc() { showa (); showb (); cout<<c<<end1; } }; int main () { C c; c. setc(1,2,3); c.showc(); return 0; } 程序执行后的输出结果是
若有以下程序: #include <iostream> using namespace std; class A { private: int a; public: void seta(int x) { a=x; } void showa,( ) { cout<<a<<", "; } }; class B { private: int b; public: void setb(int x) { b=x; } void showb () { cout<<b<<", "; } }; class C : public A, private B { private: int c; public: void setc(int x,int y, int z) { c=z; sera (x); seth (y); } void showc() { showa(); showb(); cout<<c<<end1; } }; int main () { C c; c.setc(1,2,3); c.showc(); return 0; } 程序执行后的输出结果是( )。
以下类定义中可能会引起错误的语句是 class A { public: ~A(){} //1 int i; //2 private: int j //3 A(int i){i++;} //4 };
下面类的定义,有( )处错误。 class MyClass { public: void MyClass(); ~MyClass(int Value); private: int i=0; };
下面类的定义,有( )处错误。 class MyClass {public: void MyClass(); ~MyClass(int value); private: int i=0;};
下列类的定义中,有( )处语法错误。 class Base { public: Base(){} Base(int i) { data=i; } private: int data; }; class Derive : public Base { public: Derive() : Base(O) {} Derive (int x) { d=x; } void setvalue(int i) { data=i; } private: int d; };
相关题目
类 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(); }; 下列对上面定义的描述中,正确的是( )。
下面是类MyClass的定义,对定义中各语句描述正确的是( )。 class MyClass { private: int x,y, z; public: void MyClass(int A) { x=a; } //① int f(int a, int B) //② { x=a; y=b; } int f(int a,
设有定义: class C {public: int ValUe; }; int X,*p; 则以下引用形式中,正确的是( )。
有如下类说明: class TestClass{ int x; public: TestClass(int n){x=n;} }; class TestClass1:public TestClass{ int y; public: TestClass1(int a,int b); }; 在构造函数TestClass1的下列定义中,正确的是( )。
有如下类声明: class XA { int x; public: XA(int n){x=n;} }; class XB:public XA { int y; public: XB(int a,int b); }; 在构造函数XB的下列定义中,正确的是
有如下类声明: class XA{ int X; public: XA(int n){x=n;} }; class XB:public XA{ int y; public: XB(int a,int b); }; 在构造函数XB的下列定义中,正确的是( )。
有如下类声明: class XA{ int X; public: XA(int n){x=n;} }; class XB:publicXA{ int y; public: XB(int a,int b); ); 在构造函数XB的下列定义中,正确的是( )。
有如下类声明: class XA{ int x; public: XA(int n){x=n;} }; class XB:public XA{ int y; public: XB(int a,int b); }; 在构造函数XB的下列定义中,正确的是( )。
设有基类定义:class Cbase{ private:int a;protected. int b;public:int c;};派生类采用何种继承方式可以使成员变量b成为自己的私有成员( )。
设有基类定义: class Cbase { private: int a; protected: int b; public: int c; }; 派生类采用何种继承方式可以使成员变量b成为自己的私有成员
有如下类声明: class TestClass int i; private:int j; protected:int k; public:int m,n; 其中,私有成员的数量为( )。
若有如下类定义: class B{ void fun1( ){} private: double varl; public: void fun2( ){ } }; class D:public B{ private: void fun3( ){ } }; 已知obj是类D的对象,下列语句中不违反类成员访问控制权限的是
下面的类定义中,如果要为其添加一个析构函数,对于析构函数定义正确的是( )。 class TlestClass { private: int a: public: TestClass(int giva_a=0) {a=give_a;} }
有如下程序: #include<iostream) using namespace std; classBase{ public: Base(int x=0){cout<<x;} }; Class Derived:public Base{ public: Derived(int x=0){cout<<x;} private: Base Val; }; int main(){ Derived d(1); return
有如下类定义: class Test { private int x; public int y; public void setX (int m) {x=m;} public int getX( ) {return x;} }现用Test t=new Text();生成一个对象t,则如下语句中,错误的是( )。
若有以下程序: #include<iostream> using namespace.std; class data { public: int x; data (int x) { data::x=x; } ); class A { private: data d1; public: A(int x) :dl(X){} void dispa() { cout<<dl.X<<","; } }; class B:public A { private: data d2; public: B(int x) : A(x-1),d2(x){} void dispb() { cout<<d2.x<<endl; } }; class C:public B { public: C(int x) :B(x-1){} void disp() { dispa(); dispb(); } }; int main() { C obj(5); obj.disp(); return 0; } 程序执行后的输出结果是
有如下程序: #include<iostream> using namespace std; class Base{ public: Base(int x=0){cout<<x;} }; class Derived:public Base{ public: Derived(int x=0){cout<<x;} private: Base val; }; int main( ){ Derived d(1); return 0; } 程序的输出结果是
有如下程序: #include <iostream> using namespace std; class Base { public: Base(int x=0) { cout<<x; } } class Derived: public Base{ public: Derived(int x=0) { cout<<x; } private: Base val; }; int main() { Derived d(1); return 0; }程序的输出结果是
如下的类定义,括号里应填( )。 class Myclass { public: MyClass(int a =0,int b =0) { X=a; Y=b; void Change ( ) const { X- =10; Y+ =10; public: ( )int X,Y;
在下面的类定义中,错误的语句是( )。 class Sample { public: Sample(int val): //① ~Sample(); //② private: int a=2.5; //③ Sample(): //④ };
广告位招租WX:84302438

免费的网站请分享给朋友吧