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
}
|