If tutorials available on this website are helpful for you, please whitelist this website in your ad blocker😭 or Donate to help us ❤️ pay for the web hosting to keep the website running.
C++ में, polymorphism का अर्थ है many forms , यह यह एक geek भाषा का शब्द है दो शब्दों में मिलकर बना हुआ है poly(many) और forms . सरल शब्दों में कहें तो , polymorphism का मतलब है बहुत सारी forms का होना।
Polymorphism एक ability है जिसके द्वारा एक तरह के task को आप different - different तरीके से कर सकते हैं। इस concept को normally Inheritance में use किया जाता है।
polymorphism को दो तरह से को achieve किया जाता है -
इस प्रकार के Polymorphism को Method Overriding के द्वारा achieve किया जाता है। इसमें object method को base class के अलावा child class में भी define कर दिया जाता है ,जैसा कि आप पिछले topic में पढ़ा चुके हैं।
#include <iostream>
using namespace std;
// define base class
class Food {
public:
void eat() {
cout << "Eating Food \n" ;
}
};
// Derived class
class Paneer : public Food {
public:
void eat() {
cout << "Eating Paneer \n" ;
}
};
// Another derived class
class Daal : public Food {
public:
void eat() {
cout << "Eating Daal \n" ;
}
};
int main() {
Food foodObj;
Paneer paneerObj;
Daal daalObj;
foodObj.eat();
paneerObj.eat();
daalObj.eat();
return 0;
}
Eating Food Eating Paneer Eating Daal
इस प्रकार के polymorphism को Method Overloading / Operator Overloading के द्वारा achieve किया जाता है। इसे static या Early Binding भी कहते हैं क्योंकि इसमें parameter compile time bind होते हैं। Overloaded Methods को return type और pass किये गए arguments की संख्या के according compile time में invoke किया जाता है। इसमें compiler , compile time में decide करके सबसे appropriate method को select करता है।
#include <iostream>
using namespace std;
class Calculate {
public:
int sum(int num1, int num2){
return num1+num2;
}
// define same name method with different parameters.
int sum(int num1, int num2, int num3){
return num1+num2+num3;
}
};
int main() {
Calculate obj;
cout << "Output: " << obj.sum(10, 10) << endl;
cout << "Output: " << obj.sum(20, 20, 30);
return 0;
}
Output: 20 Output: 70
ऊपर दिया गया Example देखकर आप समझ सकते हैं कि , किस तरह से method overloading का use करके compile time polymorphism को achieve किया गया है। I Hope, आपको C++ में Polymorphism के बारे में अच्छे से समझ आया होगा।