A: obj.fun1( );
B: obj.varl;
C: obj.fun2( );
D: obj.fun3( );
举一反三
- 有如下类定义: class B{ private: void fun1(){ } protected: void fun2(){ } public: void fun3(){ } }; class D : public B { protected: void fun4(){ } };若obj是类D的对象,则下列语句中正确的是 A: obj.fun1(); B: obj.fun2(); C: obj.fun4(); D: obj.fun3();
- 有如下类定义: class B{public:void funl(){}private:void fun2(){}protected:void fun3(){}}; class D:public Bjprotected:void fun4(){}}; 若obj是类D的对象,则下列语句中不违反访问控制权限的是( )。 A: obj.fun1(); B: obj.fun2(); C: obj.tim3(); D: ohj.fun4();
- 有如下类定义: class B { public :void fun1() { } private: void fun2 () { } Protected : void fun3 () { } } ; Class D:public B { protected : void fun4() { } }; 若obj是类D的对象,则下列语句中不违返访问控制权限的是()
- 调用对象obj函数成员fun:obj.fun( ); 编译器在编译时会将其调整为( )。 A: obj->fun( ); B: obj->fun( &obj ); C: fun( obj ); D: fun( &obj );
- 有如下类定义: class B public: void funl() private, void fun2() protected : void fun3 () ; class D: public B protected: void fun4 () ; 若obj是类D的对象,则下列语句中不违反访问控制权限的是( )。 A: A) obj. funl(); B: B) obj. fun2() ; C: C) obj. fun3() ; D: D) obj. fun4() ;
内容
- 0
有以下定义: class A{ public: A(int vx){ x=vx; } void f(int vx) {x=vx; } int getx() {return x; } private: int x; }; 要为类型A设计类外的一个无返回值的函数fun,用于接收一个A类型的对象,如 int main() { A obj(3); fun(obj); return 0; } 先要求约束fun不能对obj的值做修改,那么下列可行的办法是
- 1
以下对类A的声明正确的是( )。 A: class A{ int a; public: A next; ... }; B: classs A{ int a; public: void A(); }; C: class A{ int a; A( ); void fun(); } D: class A{ int a; A* next; public: A( ); void fun(); ... };
- 2
给出下列代码,如何使成员变量m 被方法fun()直接访问? class Test { private int m; public static void fun() { } }
- 3
设有类的定义如下:class A{public: void f();protected: int x;};class B:public A{public: void f(); void fun();private: int a;};则类B中除默认成员外的成员数量是( )。 A: 2个 B: 3个 C: 4个 D: 5个
- 4
若同时定义了如下函数,fun(8,3.1)调用的是下列哪个函数( )。 A: void fun(float,int) B: void fun(double,int) C: void fun(char,float) D: void fun(double,double)