我正在尝试执行以下代码
class A
{
protected int a;
protected char b;
public void Show()
{
a=5;
MessageBox.Show(""+a);
}
}
class B:A
{
public void Show()
{
b='z';
MessageBox.Show(""+a+ ""+b);
}
}
当我执行 where is of 实例时,我得到5
(value of a
) 作为输出,但是当我执行aa.show()
where is of 实例时,输出结果为(value of ) (value of )。aa
A
bb.show()
bb
B
0
a
z
b
有人可以解释为什么派生类无法显示 a 的当前值,即使它已被声明为受保护,而它能够显示正确的值b
?
更新:
我会尝试建议的解决方案。关于编译错误,没有,我能够得到问题中提到的输出。