(´・∀・`) JScript .NET スレッド
■ このスレッドは過去ログ倉庫に格納されています
0597デフォルトの名無しさん
2007/09/07(金) 22:14:36------
import System;
import System.Runtime.CompilerServices;
class Foo
{
private var Value: int;
public function Foo(val: int) {
this.Value = val;
}
public static SpecialName function op_Addition(a: Foo, b: Foo): Foo {
return new Foo(a.Value + b.Value);
}
public static SpecialName function op_Multiply(a: Foo, b: Foo): Foo {
return new Foo(a.Value * b.Value);
}
public static SpecialName function op_UnaryNegation(a: Foo): Foo {
return new Foo(-a.Value);
}
public override function ToString(): String {
// SpecialNameを外した時との挙動の差がわかりやすいようにわざと100倍している
return (100 * this.Value).ToString();
}
}
var a: Foo = new Foo(123);
var b: Foo = new Foo(45);
Console.WriteLine("{0}, {1}, {2}", -a, a + b, a * b);
------
参考URL:
演算子のオーバーロード
ttp://msdn2.microsoft.com/ja-jp/library/ms229032(vs.80).aspx
■ このスレッドは過去ログ倉庫に格納されています