2010年1月8日金曜日

operatorキーワードを使用して、+演算子をオーバーロードして実行してみる。

using System;


class SampleClass
{
    int n;
    string s;
    public SampleClass(int n, string s)
    {
        this.n = n;
        this.s = s;
    }
    // 出力値:n:s
    public void printOut()
    {
        Console.WriteLine("{0}:{1}", this.n, this.s);
    }
    // +演算子をオーバーロード
    public static SampleClass 
        operator +(SampleClass x, SampleClass y)
    {
        return new SampleClass(x.n + y.n, x.s + y.s);
    }
}


class MainClass
{
    static void Main()
    {
        SampleClass x = new SampleClass(1, "Sam");
        SampleClass y = new SampleClass(2, "ple");


        SampleClass z = x + y;
        // 出力値:3:Sample
        z.printOut();
    }
}

0 コメント:

コメントを投稿