トップページ > プログラム > 2015年11月20日 > KMWFgUCm

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

44 位/168 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000000101



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
D言語 Part34©2ch.net

書き込みレス一覧

D言語 Part34©2ch.net
276 :デフォルトの名無しさん[]:2015/11/20(金) 22:50:35.51 ID:KMWFgUCm
クラスのstaticメンバ関数で、継承先の型って見られますか?

class Base {

static T[] takusanMake(T)(int n) { //Hogeから呼んでT=Hogeがほしい
T[] ret = new T[n];
foreach (ref e; ret) {
e = new T;
}
// ... Baseのフィールドしかいじらないような設定 ...
return ret;
}

}

class Hoge : Base {
}

void main() {
//Hoge
auto hoge = Hoge.takusanMake(30);
}

内容はともかく、大体こんな感じのことをしたいです
Baseから派生したクラスで定義するとか、ちゃんと!(Hoge)してもいいんですが、
(this T)を見てから何か方法があるような気がしてきて・・・


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