问题 单项选择题

下面程序的结果是 #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 ( ) 的值。

选择题
单项选择题