using System;
public class Fuse
{
private string _name;
public Fuse(string name) { this._name = name; }
}
public class QuickFuse : Fuse
{
}
//编译命令
//csc /t:library 14-1.cs
//请高手解释下
public class Fuse
{
private string _name;
public Fuse(string name) { this._name = name; }
}
public class QuickFuse : Fuse
{
}
//编译命令
//csc /t:library 14-1.cs
//请高手解释下
public class Fuse
{
private string _name;
public Fuse() : this(null)
{
}
public Fuse(string name)
{
this._name = name;
}
}public class QuickFuse : Fuse
{
}
public class Fuse
{
private string _name;
public Fuse(string name) { this._name = name; }
public Fuse(){}
}
public class QuickFuse : Fuse
{
}
public QuickFuse():base()
{
}
所以会失败..
也可以改为using System;
public class Fuse
{
private string _name;
public Fuse(string name) { this._name = name; }}
public class QuickFuse : Fuse
{
public QuickFuse() :base(null)
{ }
}
也能通过编译
书上这么解答的:
"QuickFuse默认的构造函数是不带参数的,另外,在默认情况下,一个类的构造函数可以调用基类中不带参数的构造函数。然而,这个Fuse()构造函数需要接受一个String类型的参数,这意味着编译器无法提供一个默认的构造函数。"
为什么提供了一个带参数的构造函数,就不提供无参的构造函数了。
public QuickFuse():base()
{
}
所以会失败..
也可以改为using System;
public class Fuse
{
private string _name;
public Fuse(string name) { this._name = name; }}
public class QuickFuse : Fuse
{
public QuickFuse() :base(null)
{ }
}
也能通过编译