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