Click here to Skip to main content
15,885,782 members
Articles / Programming Languages / C++/CLI

Creating Singleton Objects using Visual C++

Rate me:
Please Sign up or sign in to vote.
4.44/5 (23 votes)
8 Jan 2001CPOL 219.2K   279   73  
This article discusses a Creational Pattern called Singleton and explains different approaches for implementing Singleton pattern using a Visual C++ example.
// LogHndlr.h : interface of the CLogHndlr class
//
/////////////////////////////////////////////////////////////////////////////

// Written by : T. Kulathu Sarma

// This file is part of Singleton application to demonstrate the concept of Singleton classes.
// This file is provided "as is" with no expressed or implied warranty.

#ifndef _LOG_HANDLER
#define _LOG_HANDLER

#include "MsgHndlr.h"

// Class declaration for CLogHndlr

class CLogHndlr : public CMsgHndlr
{
	// Destructor
	public :
		virtual ~CLogHndlr();
		DECLARE_DYNCREATE( CLogHndlr )

	// Services - Message Handling method(s)
	public :
		virtual	INT HandleMessage( LPCSTR, INT = INFO_TYPE, DWORD = 0 ); 

	// Services - Log file Get/Set method(s)
	public :
		INT SetLogFile( LPCSTR );
		INT GetLogFile( CString & );

	protected :
		// Protected constructor
		CLogHndlr();

	private :
		// Private Copy constructor and Assignment operator, to hide it from clients
		CLogHndlr( const CLogHndlr & );
		CLogHndlr & operator = ( const CLogHndlr & );

	// Attributes
	protected :
		CString		m_csLogFile;
};
#endif

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Switzerland Switzerland
Kulathu Sarma is working as a Technology Manager for GoldAvenue, a company based in Geneva, Switzerland and responsible for supporting e-business initiatives of GoldAvenue in B2B and B2C Sectors. He has been programming in C/C++ for 9 years and actively working on Patterns for the past 5 years.

Comments and Discussions