谁能讲下这道题wsm 得到这个结果。

hbxfxuweihao 2010-05-23 04:24:28
12.在下面的例子里
using System;
class A
{
public A()
{
PrintFields();
}
public virtual void PrintFields(){}
}
class B:A
{
int x=1;
int y;
public B()
{
y=-1;
}
public override void PrintFields()
{
Console.WriteLine("x={0},y={1}",x,y);
}
当使用new B()创建B的实例时,产生什么输出?
答:X=1,Y=0;x= 1 y = -1
...全文
46 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
hoken2020856 2010-05-23
  • 打赏
  • 举报
回复
new B()时,首先调用A的构造函数,里面的PrintFields被B重写,开始输出,此时y=0(by default),另x=1,所以第一个结果是正确的。然后再到B的构造函数,此时y被改成-1,但是没人输出它了。

111,118

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧