首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

哪位高手帮做一道面试题呀

2011-12-31 
谁帮做一道面试题呀,8.写出程序的输出结果:publicclassA{publicvirtualvoidFun1(inti){Console.WriteLine(

谁帮做一道面试题呀,
8.             写出程序的输出结果:
public   class   A    
{
                public   virtual   void   Fun1(int   i)  
              {
                        Console.WriteLine(i);
                }

                public   void   Fun2(A   a)      
              {
                        a.Fun1(1);
                        Fun1(5);
                }
}


public   class   B   :   A    
{
                public   override   void   Fun1(int   i)        
              {
                        base.Fun1   (i   +   1);
                }

                public   static   void   Main()      
              {
                        B   b   =   new   B();
                        A   a   =   new   A();
                        a.Fun2(b);
                        b.Fun2(a);                    
                }
}

[解决办法]
太有难度了~
[解决办法]
2
5
1
6
[解决办法]
首先在a.Fun2(b)中a.Fun1(1)这里的a其实是B类型的,所以调用的是b.Fun1,也就是base.Fun1(1+1),输出2;然后调用a.Fun1(5)输出5。

b.Fun2(a)中,a.Fun1(1)调用的是A类型的fun1方法,输出1,然后的Fun1(5)调用的是b.Fun1(5)所以输出6
[解决办法]
override
[解决办法]
考你的面向对象基础知识...
[解决办法]
2
5
1
6

热点排行