- ふらっと C#,C♯,C#(初心者用) Part124 [無断転載禁止]©2ch.net
170 :デフォルトの名無しさん (アウアウ Sa47-wLiW)[sage]:2016/08/23(火) 10:04:09.31 ID:Pa9Uofyma - コンストラクタ内で別のクラスを返したいんだけど。
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; } } こんなイメージなんだけど
| - ふらっと C#,C♯,C#(初心者用) Part124 [無断転載禁止]©2ch.net
172 :デフォルトの名無しさん (アウアウ Sa47-wLiW)[sage]:2016/08/23(火) 10:27:53.96 ID:Pa9Uofyma - >>171
今思いついた。 class Shape { public Init(StreamReader r){ return new Circle(r);} } s=new Shape().Init(r) これでいいのか?
|
|