下面程序运行的结果是( )。
#include<iostream>
using namespace std;
class A
protected:
int a;
public:
void input(int i)
a=i;
;
class B
protected:
int a;
public:
void input(int j)
a=j;
;
class C: public A, public B
int x;
public:
void input()
x=A::a * B::a;cout<<x<<endl;
;
void main()
C c;
c.A::input(5);
c.B::input(8);
c.input();
A.5
B.8
C.40
D.编译出错
参考答案:C
解析: 用成员名限定法来消除二义性,故答案为C。