トップページ > プログラム > 2016年08月23日 > Pa9Uofyma

書き込み順位&時間帯一覧

28 位/149 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000200000000000002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん (アウアウ Sa47-wLiW)
ふらっと C#,C♯,C#(初心者用) Part124 [無断転載禁止]©2ch.net

書き込みレス一覧

ふらっと 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)
これでいいのか?


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。