C++相談室 part19
■ このスレッドは過去ログ倉庫に格納されています
0760r
NGNGenum hanage_len_t{ LONG, SHORT };
const hanage_len_t length;
Hanage( hanage_len_t l ) : length( l ) {}
};
こんなクラスがあるんです。このクラスのインスタンスを作るには
Hanage hanage(Hanage::LONG);
だとか、
Hanage* pHanage = new Hanage( Hanage::SHORT );
なんて書きますよね。
ここで、この Hanage::LONG の Hanage:: の部分が、
Hanageのインスタンスを生成しまくる場面ではすごくめんどくさいのです。
たとえば、
class HanageGenerator {
using class Hanage; // ←こんなのを書いて
Hanage** Create( int n ) {
Hanage** buf = new Hanage*[n];
for( int i = 0; i < n; i++ )
buf[i] = new Hanage( i % 2 ? LONG : SHORT ); // ←これ!Hanage::の省略!
return buf;
}
};
こんな風に書けたら素敵だなぁ、って思うのです。
で、これ-----Hanage::の省略----の実現方法を知ってる人がいたら
教えてくださいませ。
■ このスレッドは過去ログ倉庫に格納されています