【初心者歓迎】C/C++室 Ver.29【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0123デフォルトの名無しさん
2006/07/14(金) 13:30:40簡単なtemplateのclassを作ったソースを書いたのですが
(operator,destractor,copyconstractorの実装は、はぶいてます)
ソース↓
#include <iostream> #include <string> namespace Mine{ template <typename T1, typename T2> class Testclass{
private:
T1 Data_like_T1;T2 Data_like_T2;
public:
Testclass():Data_like_T1(T1()),Data_like_T2(T2()){} Testclass(T1 inidata1, T2 inidata2)
{ Data_like_T1 = inidata1; Data_like_T2 = inidata2; } void CoutPvateMember()
{ std::cout << Data_like_T1 << ' ' << Data_like_T2 << '\n'; } }; } int main()
{ using namespace std; using namespace Mine;
Testclass<int, double> Tobj1; Tobj1.CoutPvateMember(); Testclass<int, double> Tobj2(5, 1.5);
Tobj2.CoutPvateMember(); Testclass<int, string> Tobj3; Tobj3.CoutPvateMember();
Testclass<int, string> Tobj4(1, "abc"); Tobj4.CoutPvateMember(); return 0; }
上記のソースでのdefault_costractorでのTestclass():Data_like_T1(T1()),Data_like_T2(T2()){}
の部分で、[Data_like_T1(T1()),Data_like_T2(T2())]の(T1())T2(T2())の部分で
T1がintならint()という形になりますしstringならstring()となりますが
このT1()のような書き方は、いったい、どんな書籍、もしくわサイトで解説してるんでしょうか
たまたま買った、C++効率的最速学習という本で、この使い方が載っていたんですが
この本には、例えばint()のような書き方をサンプルソースで使われてるんですが
この書き方の詳細は載ってませんでした。int型クラスがあるとも思えないし、EffectiveC++だと
constractorでint型のmemberがあったなら、明示的に(0)を渡しているようですし
この書き方の詳細については、いったい何の参考文献を見ればいいのでしょうか
稚拙な質問かもしれませんが、どなたか教えていただきたいです。
■ このスレッドは過去ログ倉庫に格納されています