ऑब्जेक्ट-ओरिएंटेड C++
C++ में क्लास, ऑब्जेक्ट, इनहेरिटेंस, पॉलीमॉर्फ़िज़्म और OOP के मूल स्तंभ।
क्लास और ऑब्जेक्ट
क्लास, स्ट्रक्ट और एनकैप्सुलेशन
struct और class का अंतर, एक्सेस स्पेसिफ़ायर, एनकैप्सुलेशन, const मेंबर फ़ंक्शन, स्टैटिक मेंबर और आधुनिक ऐग्रीगेट इनिशियलाइज़ेशन को समझें।
कंस्ट्रक्टर, डिस्ट्रक्टर और Rule of 0/3/5
C++ ऑब्जेक्ट का पूरा जीवनचक्र — निर्माण से लेकर विनाश तक — समझें, और जानें कि स्पेशल मेंबर फ़ंक्शन कब लिखने हैं (या नहीं लिखने हैं)।
कॉपी सिमेंटिक्स: डीप बनाम शैलो
शैलो और डीप कॉपी का अंतर, रिसोर्स के मालिक क्लास के लिए सही कॉपी ऑपरेशन लागू करने का तरीका, और copy-and-swap idiom सीखें।
इनहेरिटेंस और पॉलीमॉर्फ़िज़्म
इनहेरिटेंस और Is-A संबंध
public इनहेरिटेंस, कंस्ट्रक्टर चेनिंग, स्लाइसिंग की समस्या, मल्टीपल इनहेरिटेंस और डायमंड प्रॉब्लम सीखें — और यह भी कि इनहेरिटेंस कब उचित है।
वर्चुअल फ़ंक्शन, vtable और पॉलीमॉर्फ़िज़्म
रनटाइम पॉलीमॉर्फ़िज़्म में गहराई से उतरें: वर्चुअल डिस्पैच अंदर से कैसे काम करता है, override और final कब इस्तेमाल करें, ऐब्स्ट्रैक्ट क्लास, और RTTI।
ऑपरेटर ओवरलोडिंग
ऑपरेटर को सही तरीके से ओवरलोड करना सीखें — मेंबर बनाम नॉन-मेंबर, कैनोनिकल रूप, स्ट्रीम ऑपरेटर, C++20 का स्पेसशिप ऑपरेटर और आम गलतियाँ।
OOP डिज़ाइन
स्टैटिक मेंबर, सिंगलटन और PIMPL
स्टैटिक मेंबर, Meyers Singleton पैटर्न, Factory पैटर्न, और ABI स्थिरता तथा कंपाइल-टाइम इन्सुलेशन के लिए PIMPL idiom को जानें।
कंपोज़िशन, इंटरफ़ेस और डिज़ाइन
इनहेरिटेंस पर कंपोज़िशन को प्राथमिकता, प्योर ऐब्स्ट्रैक्ट इंटरफ़ेस, डिज़ाइन सिद्धांत (ISP, DIP), इनहेरिटेंस के विकल्प के रूप में std::variant, और टाइप इरेज़र में महारत हासिल करें।