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