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

继承的有关问题——构造函数

2013-07-01 
继承的问题——构造函数namespace ConsoleApplication15{class Program{static void Main(string[] args){De

继承的问题——构造函数

namespace ConsoleApplication15
{
    class Program
    {
        static void Main(string[] args)
        {
            Derived q = new Derived('M');
            q.print();
        }
    }
    class BaseClass
    {
        protected char s;
        public BaseClass(char c)
        {
            s = c;
        }
    }
    class Derived : BaseClass
    {
        public Derived(char q)
        { s = ++q; }
        public void print()
        {

            Console.WriteLine(s);

        }
    }
}

最后结果要求是N,报错说:错误1“ConsoleApplication15.BaseClass”不包含采用“0”个参数的构造函数

[解决办法]
class BaseClass     {         protected char s;         public BaseClass(char c)         {             s = c;         }     } 
将这个修改为
class BaseClass     {        
 protected char s; 
public BaseClass()         
{                
}       
public BaseClass(char c)         
{           
  s = c;         
}     


这样就没有问题了。
[解决办法]
public Derived(char q) : base(++q){}
[解决办法]
继承你就要把上面的构造函数也继承下来,就是在你继承的函数里面也写一个构造函数,把上面函数的参数也继承下来就行了!

热点排行