问题 单项选择题

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

选择题
填空题