Arithmetic और comparison operators
+,-,*,/,==,< और संबंधित operators को सर्वोत्तम तरीकों के अनुसार overload करें।
Arithmetic और comparison operators, CoddyKit पर C++ Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह C++ Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। C++ Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
ऑपरेटर ओवरलोड क्यों करें
ऑपरेटर ओवरलोडिंग आपके प्रकारों को अंतर्निहित प्रकारों की तरह व्यवहार करने देती है — v1 + v2, v1.add(v2) से अधिक स्पष्ट पढ़ता है। इसका उपयोग सदिश, सम्मिश्र संख्याओं और धनराशि जैसे मान-प्रकारों के लिए करें।
operator+ परिभाषित करना
आप + को सदस्य या स्वतंत्र फलन के रूप में ओवरलोड कर सकते हैं। स्वतंत्र फलन अधिक सममित होते हैं।
struct Vec2 {
double x, y;
Vec2 operator+(const Vec2& other) const {
return {x + other.x, y + other.y};
}
};स्वतंत्र फलन रूप
स्वतंत्र फलन दोनों ऑपरेंड को समान दर्जा देता है — यह तब उपयोगी है जब रूपांतरण किसी भी ओर लागू हो सकता हो।
Vec2 operator+(const Vec2& a, const Vec2& b) {
return {a.x + b.x, a.y + b.y};
}संयुक्त असाइनमेंट ऑपरेटर
पहले += कार्यान्वित करें; फिर उसके आधार पर + बनाएँ। यह मानक शैली है।
Vec2& operator+=(const Vec2& other) {
x += other.x;
y += other.y;
return *this;
}
Vec2 operator+(Vec2 lhs, const Vec2& rhs) {
lhs += rhs;
return lhs;
}एकल ऑपरेंड वाले ऑपरेटर
कुछ ऑपरेटर एकल ऑपरेंड वाले होते हैं: -x, +x, !x, ~x, ++x, --x।
Vec2 operator-() const { return {-x, -y}; }उपसर्ग बनाम प्रत्यय वृद्धि
उपसर्ग में कोई पैरामीटर नहीं होता; अंतर स्पष्ट करने के लिए प्रत्यय में एक डमी int लिया जाता है।
Counter& operator++(); // prefix
Counter operator++(int); // postfixतुलना ऑपरेटर
तुलना ऑपरेटर bool लौटाते हैं। एकरूपता के लिए स्वतंत्र फलन सबसे अच्छे रहते हैं।
bool operator==(const Vec2& a, const Vec2& b) {
return a.x == b.x && a.y == b.y;
}
bool operator!=(const Vec2& a, const Vec2& b) { return !(a == b); }क्रम निर्धारण के लिए छोटा-से ऑपरेटर
यदि आपके प्रकार को क्रमबद्ध करना हो या मानचित्र कुंजी के रूप में उपयोग करना हो, तो operator< परिभाषित करें। अन्य संबंधपरक ऑपरेटर इससे प्राप्त किए जा सकते हैं।
सममित मिश्रित-प्रकार ऑपरेटर
vec + 3 के साथ-साथ 3 + vec का समर्थन करने के लिए दोनों परिभाषित करें — या ऐसा स्वतंत्र फलन उपयोग करें जो रूपांतरण करता हो।
आश्चर्यों से बचें
ओवरलोड किए गए ऑपरेटर सहज व्यवहार करने चाहिए। + का अर्थ घटाव न बनाएँ। ऑपरेटर के पारंपरिक बीजगणित के अनुरूप रहें।
वे ऑपरेटर जिन्हें ओवरलोड नहीं किया जा सकता
कुछ ऑपरेटर प्रतिबंधित हैं:
?:— टर्नरी.— सदस्य अभिगम (लेकिन->को ओवरलोड किया जा सकता है)::— स्कोप निर्धारणsizeof,alignof,typeid
त्वरित जाँच
उपयोगकर्ता-परिभाषित प्रकार पर operator+ लागू करने का मानक तरीका क्या है?
पुनरावलोकन
ऑपरेटर ओवरलोडिंग से उपयोगकर्ता-परिभाषित प्रकार मूल प्रकारों जैसे लगते हैं। पहले संयुक्त असाइनमेंट लागू करें, फिर साधारण अंकगणितीय ऑपरेटर। तुलना ऑपरेटर स्वतंत्र फ़ंक्शन के रूप में रखना बेहतर है। पारंपरिक अर्थों का पालन करें—अप्रत्याशित व्यवहार एक बग है।
एआई शिक्षक के साथ C++ सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 51
- पाठ
- 203
अक्सर पूछे जाने वाले प्रश्न
क्या “Arithmetic और comparison operators” पाठ निःशुल्क है?
हाँ — C++ Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “Arithmetic और comparison operators” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। C++ Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Arithmetic और comparison operators” में मैं क्या सीखूँगा?
+,-,*,/,==,< और संबंधित operators को सर्वोत्तम तरीकों के अनुसार overload करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ C++ Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या C++ Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर C++ Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“Arithmetic और comparison operators” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस C++ Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर C++ Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Arithmetic और comparison operators
- Stream insertion और extraction operators
- Subscript और function call operators
- Three-way comparison operator C++20