C#基类与派生类的问题

class mybasec
        {       public mybasec(int i)
            {
                Console.WriteLine("这是基类中的有参函数变量名是i,值为{0}", i);
            }
     }
        class myDerivec:mybasec
        {
           public myDerivec(int i)
               
            {
                Console.WriteLine("这是派生类中的有参函数变量名是i,值为{0}", i);
            }
         }

问题1:程序编译错误,问题是基类中不包含0参数的构造函数,为什么不行。

第一个问题,子类实例化时一定会调用基类的构造函数,因为基类也一样要被实例化,默认是调用无参的构造函数,而你这里没有,所有这里会报错。当然你也可以手工指定调用哪个基类的构造函数,如:

public myDerivec(int i):base(i),这样指明后上面的程序就不会报错了。

http://home.cnblogs.com/q/9311/

posted @ 2011-07-16 11:12  meifage2  阅读(223)  评论(0编辑  收藏  举报