2009年12月8日火曜日

operatorキーワードを使用して演算子(+)をオーバーロードしてみる。
using System;

class SampleClass
{
    // 変数宣言
    int n;
    string s;

    public SampleClass(int n, string s)
    {
        // パラメータ設定
        this.n = n;
        this.s = s;
    }

    public void display()
    {
        // 数値、文字列を出力
        Console.WriteLine(this.n);
        Console.WriteLine(this.s);
    }

    // +演算子をオーバーロードを使用して定義
    public static SampleClass operator
        + (SampleClass a,SampleClass b)
    {
        // 数値を加算、文字列を連結
        return new SampleClass(a.n+b.n,a.s+b.s);
    }
}

class MainClass
{
    public static void Main()
    {
        // インスタンス化
        SampleClass a = new SampleClass(1, "+");
        SampleClass b = new SampleClass(10, "オーバーロード");

        // オーバーロードした+演算子を使用して結果をcに代入
        SampleClass c = a + b;

        // 出力値:11 +オーバーロード
        c.display();
    }
}

0 コメント:

コメントを投稿