问题
单项选择题
下面程序的结果是 #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) ㈠ voidshowa(){cout<<a;} }; voidmain() {C c;c.showa(); }
A.1
B.2
C.3
D.程序有错误
答案
参考答案:C
解析: 类A,类B,中都有showa()函数,类C继承后再次重写showa()函数就解决了继承的二义性,这时c.showa()函数显示的就是类C中的 showa()的值。