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