Click here to Skip to main content
13,548,587 members
Click here to Skip to main content
Add your own
alternative version

Tagged as


3 bookmarked
Posted 11 Dec 2012
Licenced CPOL

Making Your Classes Copy-safe

, 11 Dec 2012
Rate this:
Please Sign up or sign in to vote.
Prevent default copy constructor and assignment operator side effect

I decided in the middle of my project to make my project follow coding standard, and be more secure and encapsulated.  For me, a small macro definition changed everything just by disabling coping for all objects and preventing generation of default copy constructor and assignment operator.

private: \  
CLASS_NAME ( const CLASS_NAME & );               // NOT IMPLEMENTED  \ 
CLASS_NAME & operator = ( const CLASS_NAME & );  // NOT IMPLEMENTED 

Inside your class, add this macro with the class name as parameter; just beside DECLARE_MESSAGE_MAP macro, for example.


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


About the Author

Huzifa Terkawi
Software Developer (Senior)
Syrian Arab Republic Syrian Arab Republic
C++ , MFC , Win32 professional Developer.

You may also be interested in...


Comments and Discussions

Questionprivate: Pin
alexander_st11-Dec-12 20:17
memberalexander_st11-Dec-12 20:17 
AnswerRe: private: Pin
Mr. Tines12-Dec-12 1:03
memberMr. Tines12-Dec-12 1:03 
AnswerRe: private: Pin
Huzifa Terkawi12-Dec-12 2:46
memberHuzifa Terkawi12-Dec-12 2:46 

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.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web03 | 2.8.180515.1 | Last Updated 12 Dec 2012
Article Copyright 2012 by Huzifa Terkawi
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid