读书人

继承的有关问题构造函数

发布时间: 2013-07-01 12:33:04 作者: rapoo

继承的问题——构造函数

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){}
[解决办法]
继承你就要把上面的构造函数也继承下来,就是在你继承的函数里面也写一个构造函数,把上面函数的参数也继承下来就行了!

读书人网 >C#

热点推荐