-2

課題はありますが、どうすればいいのかよくわかりません:
火星のクラスが与えられました。int型の引数を取り、2 引数のコンストラクター (メイン コンストラクター) も呼び出すコンストラクターを定義します。

 public class Mars
    {
        private string name;
        private int mass;
        public Mars() { }
        public Mars(string s; int m){name = s; mass = m;}
    }

これは本当に可能ですか?誰かがそのような構造の例を教えてくれませんか?

4

1 に答える 1

9

これは、コンストラクターの本体の前に (このクラスの別のコンストラクターにチェーンする) または(基本クラスのコンストラクターにチェーンする)を使用して実行されるコンストラクター チェーンを記述しています。thisbase

public Mars(int m) : this("Some default name", m)
{
}

ちなみに、2 つのパラメーターのコンストラクター宣言は現在無効であることに注意してください。パラメーターを区切るには、セミコロンではなくコンマが必要です。また、1 行につき 1 つのステートメントに固執することを強くお勧めします。

public Mars(string s, int m)
{
    name = s;
    mass = m;
}

コンストラクター チェーンの詳細については、トピックに関する私の記事をお読みください。

于 2013-05-27T17:27:30.903 に答える