单项选择题

设有如下程序:
#include <iostream>
using namespace std;
class A

public:
int i;
display()

cout<<"class A\n";

;
class B

public:
int i;
display()

cout<<"class B\n";

;
class C : public A, public B

int j;
public:
int i;
show ( )

j = i * i;
display();

;
int main()

C demo;
demo.show();
return O;

则主程序运行时将( )。

A) 因为变量i的重复定义而报错
B) 因为对象demo间接调用display()函数时产生二义性而报错
C) 因为类定义的语法错误而不能运行
D) 没有语法错误,能够正常输出结果