operator overloading in hindi

 

Introduction to C++ Operator Overloading

Operator overloading का मतलब operators का अर्थ बदलना होता है। ये अर्थ सिर्फ user defined data types जैसे की class आदि के संदर्भ में ही बदलता है। Primitive types के साथ operators को उसी तरह  यूज़ किया जा सकता है जैसे की आप operator overloading से पहले करते थे।

Operator overloading एक बहुत ही interesting feature है। लेकिन कुछ ऐसे भी operators है जिन्हें आप overload नहीं कर सकते है। इनके बारे में नीचे दिया जा रहा है।

Class member access operators (.,.*)

Scope resolution operator (::)

Size of operator (sizeof)

Conditional Operator (?:)

ऊपर दिए गए operators को छोड़कर आप C++ के सभी operators को overload कर सकते है।

हालाँकि operator overloading द्वारा आप operators का मतलब बदल सकते है, लेकिन उनका syntax नहीं change किया जा सकता है। उदाहरण के लिए multiplication operation के लिए 2 operands का होना जरुरी है, इसे change नहीं किया जा सकता है। साथ ही operators की precedence (order) भी नहीं बदलती है।

Overloading Operators 

Operators को overload करने के लिए आप एक function define करते है। इस function की header में आप बताते है की किस operator को overload करना है। साथ ही आप ये भी बताते है की किस class के variables के लिए इस operator को overload करना है। 

इस function की body में आप ये define करते है की ये operator particular class के objects के साथ किस तरह work करेगा। इस function को operator function कहा जाता है। इस function को operator keyword के साथ define किया जाता है।  

return-type class-name :: operator op(parameters-list)

{

       // Statements to be executed

सबसे पहले आप function का return type define करते है। इसके बाद आप उस class का नाम define करते है की जिसके लिए इस operator को overload किया जा रहा है। इसके बाद आप scope resolution (::) operator लगाते है। इसके बाद operator keyword define किया जाता है।

इसके बाद आप उस operator को define करते है जिसे आप overload करना चाहते है। इसके बाद brackets में parameters define किये जाते है। 

जब आप function को class के बाहर declare करना चाहते है तो इस syntax को यूज़ कर सकते है। आप चाहे तो इस function को बाकी normal functions की तरह class के अंदर भी define कर सकते है।   

आइये अब इसे एक उदाहरण से समझने का प्रयास करते है। मान लीजिये आप + operator को overload करना चाहते है, तो उसके लिए function इस प्रकार define किया जायेगा। 

 

Tausif

Hi! My name is Tausif Ahmad. I am a Full Stack Developer at Wipro and a Computer Science graduate from MANUU Hyderabad. I write exam-focused technical blogs and enjoy frontend development, blogging, and creative design.

Post a Comment (0)
Previous Post Next Post