Click here to Skip to main content
15,925,444 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
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 
QuestionHow to solve this,I have try my best! Pin
Archy_Yu14-Mar-09 0:34
Archy_Yu14-Mar-09 0:34 
QuestionHow to pass SendMessage() which is having base class as CWinApp? Pin
Abhijit D. Babar13-Mar-09 23:59
Abhijit D. Babar13-Mar-09 23:59 
AnswerRe: How to pass SendMessage() which is having base class as CWinApp? Pin
«_Superman_»14-Mar-09 1:40
professional«_Superman_»14-Mar-09 1:40 
QuestionMFC Pin
p_196013-Mar-09 22:55
p_196013-Mar-09 22:55 

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.