Click here to Skip to main content
15,895,656 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: pure virtual functions Pin
Cedric Moonen17-Sep-09 21:00
Cedric Moonen17-Sep-09 21:00 
AnswerRe: pure virtual functions Pin
Kushagra Tiwari17-Sep-09 20:44
Kushagra Tiwari17-Sep-09 20:44 
GeneralRe: pure virtual functions Pin
Cedric Moonen17-Sep-09 20:53
Cedric Moonen17-Sep-09 20:53 
GeneralRe: pure virtual functions Pin
hrishiS17-Sep-09 20:55
hrishiS17-Sep-09 20:55 
AnswerRe: pure virtual functions Pin
«_Superman_»17-Sep-09 20:44
professional«_Superman_»17-Sep-09 20:44 
AnswerRe: pure virtual functions Pin
Cedric Moonen17-Sep-09 20:51
Cedric Moonen17-Sep-09 20:51 
GeneralRe: pure virtual functions Pin
hrishiS17-Sep-09 21:00
hrishiS17-Sep-09 21:00 
GeneralRe: pure virtual functions Pin
Cedric Moonen17-Sep-09 21:12
Cedric Moonen17-Sep-09 21:12 
Suppose you are creating a class to log messages. The class first formats the message properly (adding current time for instance). This class can then be implemented by different children depending on where you want to log the message: to a file, to the console, ...

So, the base class looks like:
class CLogger
{
public:
   void LogMessage(const string& message)
   {
      string formattedMessage = FormatMessage(message);
      OutputMessage(formattedMessage);
   }

protected:
   string FormatMessage(const string& message) { /* Formats the message properly and returns it */ }
   virtual void OutputMessage(const string& message) = 0;

};


The class cannot be instanciated, because it contains a pure virtual function (OutpuMessage). If you want to create children of this class, you only have to override the OutputMessage function (the other functions are already provided by the base class):
class CConsoleLogger : public CLogger
{
protected:
   void OutputMessage(const string& message) { /* Output the message to the console */ }
};


Cédric Moonen
Software developer

Charting control [v2.0]
OpenGL game tutorial in C++

GeneralRe: pure virtual functions Pin
CPallini17-Sep-09 22:09
mveCPallini17-Sep-09 22:09 
AnswerRe: pure virtual functions Pin
RugbyLeague17-Sep-09 22:09
RugbyLeague17-Sep-09 22:09 
GeneralRe: pure virtual functions Pin
hrishiS17-Sep-09 22:28
hrishiS17-Sep-09 22:28 
GeneralRe: pure virtual functions Pin
RugbyLeague17-Sep-09 22:43
RugbyLeague17-Sep-09 22:43 
AnswerRe: pure virtual functions - an example for you. Pin
Iain Clarke, Warrior Programmer17-Sep-09 23:00
Iain Clarke, Warrior Programmer17-Sep-09 23:00 
QuestionDifferentiating SHUTDOWN and RESTART ? Pin
Kushagra Tiwari17-Sep-09 20:29
Kushagra Tiwari17-Sep-09 20:29 
AnswerRe: Differentiating SHUTDOWN and RESTART ? Pin
«_Superman_»17-Sep-09 20:42
professional«_Superman_»17-Sep-09 20:42 
GeneralRe: Differentiating SHUTDOWN and RESTART ? Pin
Kushagra Tiwari17-Sep-09 20:46
Kushagra Tiwari17-Sep-09 20:46 
QuestionRe: Differentiating SHUTDOWN and RESTART ? Pin
Kushagra Tiwari17-Sep-09 22:25
Kushagra Tiwari17-Sep-09 22:25 
GeneralRe: Differentiating SHUTDOWN and RESTART ? Pin
David Crow18-Sep-09 6:26
David Crow18-Sep-09 6:26 
GeneralRe: Differentiating SHUTDOWN and RESTART ? Pin
kilt21-Sep-09 0:45
kilt21-Sep-09 0:45 
Questionusing boost::bind cause error prj0002 Pin
fley_fly17-Sep-09 19:58
fley_fly17-Sep-09 19:58 
AnswerRe: using boost::bind cause error prj0002 Pin
Stuart Dootson17-Sep-09 20:50
professionalStuart Dootson17-Sep-09 20:50 
QuestionOutlook Automation Pin
john563217-Sep-09 19:29
john563217-Sep-09 19:29 
QuestionWM_LBUTTONUP does not trigger, please help Pin
Isuru_Perera17-Sep-09 19:27
Isuru_Perera17-Sep-09 19:27 
AnswerRe: WM_LBUTTONUP does not trigger, please help Pin
Code-o-mat17-Sep-09 20:36
Code-o-mat17-Sep-09 20:36 
AnswerRe: WM_LBUTTONUP does not trigger, please help Pin
Romualdas Cukuras17-Sep-09 20:36
Romualdas Cukuras17-Sep-09 20:36 

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.