Click here to Skip to main content
15,920,956 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
QuestionRe: Template Class issues in C++. Pin
NeoAks00714-Mar-09 7:50
NeoAks00714-Mar-09 7:50 
AnswerRe: Template Class issues in C++. Pin
Stuart Dootson14-Mar-09 8:07
professionalStuart Dootson14-Mar-09 8:07 
AnswerRe: Template Class issues in C++. Pin
N a v a n e e t h14-Mar-09 8:14
N a v a n e e t h14-Mar-09 8:14 
QuestionRe: Template Class issues in C++. Pin
NeoAks00714-Mar-09 8:32
NeoAks00714-Mar-09 8:32 
NewsRe: Template Class issues in C++. Pin
NeoAks00714-Mar-09 9:16
NeoAks00714-Mar-09 9:16 
AnswerRe: Template Class issues in C++. Pin
Stuart Dootson14-Mar-09 9:38
professionalStuart Dootson14-Mar-09 9:38 
QuestionRe: Template Class issues in C++. Pin
NeoAks00714-Mar-09 9:58
NeoAks00714-Mar-09 9:58 
AnswerRe: Template Class issues in C++. Pin
Stuart Dootson14-Mar-09 10:20
professionalStuart Dootson14-Mar-09 10:20 
With Boost, this is the best I can think of (note that I've substituted int, cahr, float for the template parameters):

#include <iostream>
#include <boost/variant.hpp>

template <class abc>
class Base{
public:
   abc func1();
};

class B : public Base<int>{
public:
   virtual ~B() {}
      // Class Definitions
};
class C : public Base<float>{
public:
   virtual ~C() {}
      // Class Definitions
};

class A: public Base<char>{
public:
   B obj1;
   C obj2;
   boost::variant<A*, B*, C*> search(int condition)  //What do I specify return type???
   {
      if(condition==1)
         return &obj1;
      if(condition==2)
         return &obj2;
      if(condition==3)
         return this;
   }
};

int main(int, char**)
{
   A objA;
   int n;
   std::cin>>n;
   boost::variant<A*, B*, C*> v = objA.search(n);
   if (B* b = boost::get<B*>(v))
   {
      b->func1();
   }
   else if (C* c = boost::get<C*>(v))
   {
      c->func1();
   }
   return 0;
}


Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p

QuestionRe: Template Class issues in C++. Pin
NeoAks00714-Mar-09 10:27
NeoAks00714-Mar-09 10:27 
AnswerRe: Template Class issues in C++. Pin
Stuart Dootson14-Mar-09 10:38
professionalStuart Dootson14-Mar-09 10:38 
QuestionRe: Template Class issues in C++. [modified] Pin
NeoAks00714-Mar-09 10:47
NeoAks00714-Mar-09 10:47 
AnswerRe: Template Class issues in C++. Pin
Joe Woodbury15-Mar-09 17:50
professionalJoe Woodbury15-Mar-09 17:50 
NewsRe: Template Class issues in C++. Pin
NeoAks00725-Mar-09 21:48
NeoAks00725-Mar-09 21:48 
QuestionConversion Pin
durban214-Mar-09 5:06
durban214-Mar-09 5:06 
AnswerRe: Conversion Pin
CPallini14-Mar-09 5:13
mveCPallini14-Mar-09 5:13 
GeneralRe: Conversion Pin
durban214-Mar-09 5:42
durban214-Mar-09 5:42 
GeneralRe: Conversion Pin
CPallini14-Mar-09 7:17
mveCPallini14-Mar-09 7:17 
QuestionPCI driver development Pin
Deepu Antony14-Mar-09 4:34
Deepu Antony14-Mar-09 4:34 
QuestionHow to place a Bitmap in the center of a Cdocument document on startup Pin
Larry Mills Sr14-Mar-09 3:13
Larry Mills Sr14-Mar-09 3:13 
AnswerRe: How to place a Bitmap in the center of a Cdocument document on startup Pin
Code-o-mat14-Mar-09 5:44
Code-o-mat14-Mar-09 5:44 
GeneralRe: How to place a Bitmap in the center of a Cdocument document on startup Pin
Larry Mills Sr14-Mar-09 6:24
Larry Mills Sr14-Mar-09 6:24 
GeneralRe: How to place a Bitmap in the center of a Cdocument document on startup Pin
Code-o-mat14-Mar-09 6:35
Code-o-mat14-Mar-09 6:35 
GeneralRe: How to place a Bitmap in the center of a Cdocument document on startup Pin
Larry Mills Sr15-Mar-09 9:24
Larry Mills Sr15-Mar-09 9:24 
GeneralRe: How to place a Bitmap in the center of a Cdocument document on startup Pin
Code-o-mat15-Mar-09 11:37
Code-o-mat15-Mar-09 11:37 
GeneralRe: How to place a Bitmap in the center of a Cdocument document on startup Pin
Larry Mills Sr16-Mar-09 2:21
Larry Mills Sr16-Mar-09 2:21 

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.