privateसदस्य डेटा के लिए पसंद किया जाता है। C ++ कक्षाओं में सदस्य हैंprivate डिफ़ॉल्ट रूप से हैं।
publicसदस्य कार्यों के लिए पसंद किया जाता है, हालांकि यह राय का विषय है। कम से कम कुछ तरीके सुलभ होने चाहिए। publicसभी के लिए सुलभ है। यह सबसे लचीला विकल्प है और कम से कम सुरक्षित है। कोई भी उनका उपयोग कर सकता है, और कोई भी उनका दुरुपयोग कर सकता है।
privateसुलभ नहीं है। वर्ग के बाहर कोई भी उनका उपयोग नहीं कर सकता है, और कोई भी उनका दुरुपयोग नहीं कर सकता है। व्युत्पन्न वर्गों में भी नहीं।
protectedएक समझौता है क्योंकि इसका उपयोग व्युत्पन्न वर्गों में किया जा सकता है। जब आप एक वर्ग से निकलते हैं, तो आपको आधार वर्ग की अच्छी समझ होती है, और आप सावधान रहते हैं कि इन सदस्यों का दुरुपयोग न करें।
MFC Windows API के लिए C ++ आवरण है, यह पसंद करता है publicऔर protected। विजुअल स्टूडियो द्वारा उत्पन्न कक्षा जादूगर की एक बदसूरत मिश्रण protected, publicऔरprivate सदस्य हैं। लेकिन खुद MFC वर्गों के लिए कुछ तर्क है।
सदस्य जैसे SetWindowTextहैं, publicक्योंकि आपको अक्सर इन सदस्यों तक पहुंचने की आवश्यकता होती है।
सदस्य जैसे OnLButtonDown, खिड़की द्वारा प्राप्त सूचनाओं को संभालते हैं। उन्हें एक्सेस नहीं किया जाना चाहिए, इसलिए वे हैं protected। आप इन फ़ंक्शंस को ओवरराइड करने के लिए अभी भी उन्हें व्युत्पन्न वर्ग में एक्सेस कर सकते हैं।
कुछ सदस्यों को थ्रेड्स और संदेश लूप्स करने होते हैं, उन्हें एक्सेस या ओवरराइड नहीं किया जाना चाहिए, इसलिए उन्हें घोषित किया जाता है private
C ++ संरचनाओं में, सदस्य publicडिफ़ॉल्ट रूप से होते हैं। संरचनाएं आमतौर पर केवल डेटा के लिए उपयोग की जाती हैं, विधियों के लिए नहीं, इसलिए publicघोषणा को सुरक्षित माना जाता है।