A.int fun(double p){…;} float fun(float p){…;} int x; x=fun(0);
B.int fun(float p){…;}float fun(unsigned p){…;} int x; x=fun(0);
C.int fun(int i,int j=2){…;}float fun(int i){…;} coutfun(5);
D.int fun(int i=2,int j=2){…;} int fun(int *p){…;} coutfun(5);
第1题:
下列选项中不会引起二义性的宏定义是( )。
A.#defineS(x)x*x
B.#defineS(x)(x)*(x)
C.#defineS(x)(x)*x
D.#defineS(x)(x*x)
第2题:
对于下列程序段,没有二义性的表达式是() class A {public: int f(); }; class B {public: int g(); int f(); }; class C:public A,public B {public : int g(); h(); }; C obj;
A.obj.f()
B.obj.A::g()
C.obj.B::f()
D.obj.B::h()
第3题:
从下列选项中选择不会引起二义性的宏定义是______。
A.#define PLUS(a) a*a
B.#define PLUS(a) (a)*(a)
C.#define PLUS(a) (a*a)
D.#define PLUS(a) ((a)*(a))
第4题:
有如下程序: class Base1 { public: int a; void b() { return}; void c(float) { a=float;} }; class Base2 { public: void b(){} void c(){} private: int a; }; class Derived:public Basel,public Base2 { public: void b(){} }; void main() { Derived obj; obj.a=1; //① obj.b(); //② obj.c(10); //③ } 下面各项对语句①②③的描述中,正确的是( )。
A.语句①②③都有二义性
B.语句①③有二义性,②没有二义性
C.语句①有二义性,②③没有二义性
D.语句①②有二义性,③没有二义性
第5题:
3、对于下列程序段,没有二义性的表达式是() class A {public: int f(); }; class B {public: int g(); int f(); }; class C:public A,public B {public : int g(); h(); }; C obj;
A.obj.f()
B.obj.A::g()
C.obj.B::f()
D.obj.B::h()