他のコンストラクタの呼び出し

スーパークラスのコンストラクタの呼び出しとオーバーロードされたコンストラクタの呼び出しはC++Javaの中間のような感じ。

class Hoge
{
    public Hoge(int i) {}
    // オーバーロードされたコンストラクタの呼び出し
    public Hoge() : this(10) {}
}
class ExHoge : Hoge
{
    // スーパークラスのコンストラクタの呼び出し
    public ExHoge() : base(20) {}
}

引数なしのコンストラクタをスーパークラスが持っていた場合*1、サブクラスで明示的に呼ばなければそれが呼び出されるというのはJavaと同じ。

*1:または明示的にコンストラクタを記述しなかった場合