Thread: Policy based design
-
31-07-2010, 15:19 #1Member
- Registered
- 14/05/03
- Location
- Schoten
- Posts
- 812
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 1/7
Policy based design
Ik ben met c++ templates bezig en probeer zowat een policy based design te implementeren.
Ik zit nu met een probleempje waar ik maar niet uitkom.
De rode template-parameter T wordt niet herkend, wat wss wel logisch zal zijn maar ik zie het even niet momenteel. De copy constructor eronder werkt ook niet echt. Ik wil uiteindelijk zoiets kunnen doen:Code:template <typename T> class format2 { public: format2(); format2(size_t rows, size_t columns); format2(size_t rows, size_t columns, T elements[]); format2(format2<T> const& f); }; template <typename T> class format1 { public: format1(); format1(size_t rows, size_t columns); format1(size_t rows, size_t columns, T elements[]); format1(format1<T> const& f); }; template <typename FORMAT> class m : public FORMAT { public: m() : FORMAT () { } m(size_t rows, size_t columns) : FORMAT (rows, columns) { } => m(size_t rows, size_t columns, FORMAT :: T elements[]) : FORMAT (rows, columns, elements) { } => m(m< FORMAT > const& m) : FORMAT (FORMAT) { } };
Iemand een id'tje ?Code:m< format1<int> > m1(3, 4, elements);
there you gono votes
-
-
01-08-2010, 13:53 #2Member
- Registered
- 15/07/08
- Location
- genk
- Posts
- 83
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
Het is logisch dat deze niet herkent wordt, aangezien je bij de laatste block code template <typename FORMAT> gebruikt ipv template <typename T>
Last edited by nguaroth; 01-08-2010 at 15:13.
no votes
-
02-08-2010, 13:56 #3Member
- Registered
- 14/05/03
- Location
- Schoten
- Posts
- 812
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 1/7
hmm ik snap u niet volledig denk ik?
aangezien die laatste klasse overerft van FORMAT leek het mij logisch dat ook T wordt overgeerft?there you gono votes
-
02-08-2010, 14:58 #4Member
- Registered
- 25/06/04
- Location
- Evergem
- Posts
- 512
- iTrader
- 14 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/6
Op het moment dat je je klasse m definieert kan FORMAT gelijk wat zijn. Uw klasse m kan dus ook niet weten wat hij allemaal overerft (omdat dat pas vast staat wanneer ge uw template klasse instantieert). Dus kent hij die T ook niet.
CrackNuT. ]
It's not a bug, it's just an undocumented feature!no votes
-
13-08-2010, 17:26 #5Member
- Registered
- 14/05/03
- Location
- Schoten
- Posts
- 812
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 1/7
al ff geleden maar heb het net getest en het werkt zo
thanks Nocturn!
Enig id wat er bij mij fout liep?there you gono votes
-
13-08-2010, 17:46 #6Member
- Registered
- 15/07/08
- Location
- genk
- Posts
- 83
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
Wel, @ compile time weet de compiler niet welk type FORMAT precies heeft, waardoor hij ook nie kan weten wat er precies in FORMAT zit.
no votes
