読者です 読者をやめる 読者になる 読者になる

プログラミングでアイデアを具現化したい

あらゆるものを具現化するためにプログラミングを始めました。主にC#

コンストラクターのオーバーロード

C#


独習C# 第3版より

メソッド同様にコンストラクターオーバーロード可能。
与えられたパラメータに応じて適切なコンストラクターが呼び出される。

    class Program {
        static void Main(string[] args) {
            MyClass t1 = new MyClass();
            MyClass t2 = new MyClass(8);
            MyClass t3 = new MyClass(4.5);
            MyClass t4 = new MyClass(4,5);

            Console.WriteLine(t1.x);
            Console.WriteLine(t2.x);
            Console.WriteLine(t3.x);
            Console.WriteLine(t4.x);
        }
    }
    class MyClass {
        public int x;
        //パラメータなし
        public MyClass() {
            Console.WriteLine("Inside MyClass().");
            x = 0;
        }
        //パラメータint型1つ
        public MyClass(int i) {
            Console.WriteLine("Inside MyClass(int).");
            x = i;
        }
        //パラメータdouble型1つ
        public MyClass(double d) {
            Console.WriteLine("Inside MyClass(double).");
            x = (int)d;
        }
        //パラメータint型2つ
        public MyClass(int i, int j) {
            Console.WriteLine("Inside MyClass(int, int).");
            x = i * j;
        }
    }

実行結果
f:id:tos5511:20160102193559j:plain



直近の人気記事
tos5511.hatenablog.com