16/08/23 10:04:09.31 Pa9Uofyma.net
コンストラクタ内で別のクラスを返したいんだけど。
class Shape { Point origin; }
class Circle : Shape { double r; }
class Triangle : Shape { Point a, b, c; }
みたいな感じで、ファイルから読んでクラスを決める
public Shape(StreamReader r)
{origin.x=r.ReadByte(); origin.y=r.ReadByte();
// その他、共通の初期化
switch(r.ReadByte())
case 1:this=new Circle(r); break; // 続きは各クラス内で
case 2:this=new Triangle(r);break;
}
}
こんなイメージなんだけど