问题 单项选择题

下面程序的结果是( )。 #include<iostream.h> class A { int a; public: A():a(1){} void showa(){cout<<a;} }; Class B { int a; public: B():a(2){} void showa(){cout<<a;} ); class C:public A,public B { int a; public: C():a(3){} void showa(){cout<<a;} }; void main() { C c; c.showa(); }

A.1

B.2

C.3

D.程序有错误

答案

参考答案:C

解析: 类A,类B,中都有showa()函数,类C继承后再次重写showa()函数就解决了继承的二义性,这时c, showa()函数显示的就是类C中的showa()的值。

选择题
多项选择题