हाँ, यह आवश्यक है, यदि आप उन सभी को जिस तरह से आप उन्हें काम करना चाहता हूँ काम करना चाहते हैं।
सी ++ अधिकतर अधिभार योग्य ऑपरेटरों पर किसी भी विशिष्ट अर्थशास्त्र को मजबूर नहीं करता है। एकमात्र चीज जो तय की गई है वह ऑपरेटर के लिए सामान्य वाक्यविन्यास है (जिसमें यूनरी या बाइनरी और प्राथमिकता और सहयोगीता जैसी चीजें शामिल हैं)। इसका तत्काल अर्थ यह है कि आपके अधिभार में लागू वास्तविक कार्यक्षमता पूरी तरह से मनमानी हो सकती है। सामान्य स्थिति में ऑपरेटर ==
क्या करता है और ऑपरेटर !=
क्या करता है के बीच कोई सार्थक संबंध नहीं हो सकता है। ऑपरेटर ==
फ़ाइल में डेटा लिख सकता है, जबकि ऑपरेटर !=
एक सरणी सॉर्ट कर सकता है।
जबकि इस तरह के मनमाने ढंग से फैशन में ऑपरेटरों को अधिभारित करना निश्चित रूप से एक अच्छा प्रोग्रामिंग अभ्यास नहीं है, सी ++ भाषा कुछ भी नहीं मान सकती है। तो, नहीं,के स्थान पर !=
, या ! >
संयोजन के स्थान पर ! ==
संयोजन स्वचालित रूप से इसका उपयोग नहीं कर सकता है और नहीं करेगा।
'==' और '! =' के लिए आपका उदाहरण बल्कि दूषित है। एक और यथार्थवादी एक वर्ग ऑब्जेक्ट का प्रतिनिधित्व करने वाला वर्ग होगा, जहां आपको 'न्यूल' के विशेष अर्थशास्त्र से निपटना होगा। – dan04