问题
单项选择题
下面程序的运行结果是( )。 #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。