问题 单项选择题

下面程序的运行结果是( )。  #include<iostream.h>  class base{  protected:    int a;  public:    base( ){cout<<"0";}  };  class basel:virtual base{  public:    basel( ){cout<<"1";}  };  class base2:virtual base{  public:    base2( ){cout<<"2";}  };  class derived:public basel,public base2{  public:    derived( ){cout<<"3";}  };  void main( )  {    derived obj;    cout<<endl;  }

A.5

B.3

C.2

D.0

答案

参考答案:C

解析:本题考查三目运算符“:”。三目运算符的表达式为(表达式1)(表达式2):(表达式3),运算过程是当(表达式1)的值为真时,求(表达式2)的值为整个表达式的值;如果(表达式1)的值为假,则求(表达式3)的值为整个表达式的值。题中,表达式x>12的结果为假,所以执行的语句是x-12,最终结果应该是0。

选择题
单项选择题