Click here to Skip to main content
15,893,594 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: vector of template class Pin
forwardsim19-Aug-10 4:44
forwardsim19-Aug-10 4:44 
AnswerRe: vector of template class Pin
Niklas L19-Aug-10 2:23
Niklas L19-Aug-10 2:23 
GeneralRe: vector of template class Pin
Aescleal19-Aug-10 3:01
Aescleal19-Aug-10 3:01 
GeneralRe: vector of template class Pin
Niklas L19-Aug-10 3:16
Niklas L19-Aug-10 3:16 
GeneralRe: vector of template class Pin
forwardsim19-Aug-10 4:47
forwardsim19-Aug-10 4:47 
GeneralRe: vector of template class Pin
Aescleal19-Aug-10 6:24
Aescleal19-Aug-10 6:24 
GeneralRe: vector of template class Pin
Niklas L19-Aug-10 8:29
Niklas L19-Aug-10 8:29 
GeneralRe: vector of template class [modified] Pin
Paul Michalik20-Aug-10 2:03
Paul Michalik20-Aug-10 2:03 
something like this would also work, ít depends on what you are up to...
class base {
 public:
  virtual void accept(class visitor&) = 0;
};

template<typename T>
class impl : public base {
 public:
  virtual void accept(class visitor& v);
  
  //...

};

class visitor {
 public:
  void operator()(base* b) {
   b->accept(*this);
  }
  void visit(impl<int>& pimpl) {
   std::cout << "i am an int" << std::endl;//...
  }
  void visit(impl<double>& pimpl) {
   //...
  }
  // other overloads...
};

template<typename T>
void impl<T>::accept(visitor& v) {
 v.visit(*this);
}
  
void foo() {
 std::vector<base*> vec;
 vec.push_back(new impl<int>);
 vec.push_back(new impl<double>);
 
 //...
 visitor v;
 std::for_each(vec.begin(), vec.end(), v);

 // output:
 // i am an int
 // i am an double
 // ...
}


modified on Monday, August 30, 2010 1:55 AM

GeneralRe: vector of template class Pin
Niklas L20-Aug-10 2:22
Niklas L20-Aug-10 2:22 
GeneralRe: vector of template class Pin
Paul Michalik20-Aug-10 4:06
Paul Michalik20-Aug-10 4:06 
Questioncan main() be overloaded?? Pin
AmbiguousName18-Aug-10 6:36
AmbiguousName18-Aug-10 6:36 
AnswerRe: can main() be overloaded?? Pin
Aescleal18-Aug-10 6:50
Aescleal18-Aug-10 6:50 
QuestionRe: can main() be overloaded?? Pin
David Crow18-Aug-10 9:14
David Crow18-Aug-10 9:14 
AnswerRe: can main() be overloaded?? Pin
Aescleal18-Aug-10 10:00
Aescleal18-Aug-10 10:00 
GeneralRe: can main() be overloaded?? Pin
David Crow18-Aug-10 10:21
David Crow18-Aug-10 10:21 
GeneralRe: can main() be overloaded?? Pin
Aescleal18-Aug-10 10:26
Aescleal18-Aug-10 10:26 
GeneralRe: can main() be overloaded?? Pin
David Crow18-Aug-10 10:35
David Crow18-Aug-10 10:35 
GeneralRe: can main() be overloaded?? Pin
Aescleal18-Aug-10 11:20
Aescleal18-Aug-10 11:20 
GeneralRe: can main() be overloaded?? Pin
CPallini18-Aug-10 22:18
mveCPallini18-Aug-10 22:18 
GeneralRe: can main() be overloaded?? Pin
Emilio Garavaglia18-Aug-10 22:40
Emilio Garavaglia18-Aug-10 22:40 
GeneralRe: can main() be overloaded?? Pin
CPallini18-Aug-10 22:51
mveCPallini18-Aug-10 22:51 
GeneralRe: can main() be overloaded?? Pin
Aescleal18-Aug-10 23:12
Aescleal18-Aug-10 23:12 
GeneralRe: can main() be overloaded?? Pin
CPallini18-Aug-10 23:40
mveCPallini18-Aug-10 23:40 
GeneralRe: can main() be overloaded?? Pin
DrFrankenstein9019-Aug-10 7:30
DrFrankenstein9019-Aug-10 7:30 
GeneralRe: can main() be overloaded?? Pin
David Crow19-Aug-10 7:50
David Crow19-Aug-10 7:50 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.