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.
हम जानते हैं , कि Inheritance से हम किसी class को inherit करके उसकी properties और method को access या use में ले सकते हैं। लेकिन अगर कोई method पहले से base class में present है लेकिन फिर भी इसकी derived / child class में वो method define कर सकते हैं।
derived / child class में same name method को define करना Method Overriding कहलाता है।
#include <iostream>
using namespace std;
// define base class.
class A {
public:
void print() {
cout << "A Class Function" << endl;
}
};
// define B class that inherits A class.
class B : public A {
public:
// define same name method
void print() {
cout << "B Class Function" << endl;
}
};
int main() {
B oObj;
oObj.print();
return 0;
}
B Class Function
Example में आप देख सकते हैं कि , print() name का same method दोनों classes में define किया गया है , और call करने पर B class काprint() method call हुआ है।
तो जब भी child / derived class के object के साथ method call करेंगे तो compiler सबसे पहले child class में ही उस method को search करता है , और method execute होता है। हालाँकि अगर आप base / class के method को execute करना चाहते हैं तो आपको base / parent class का name लिखना पड़ेगा।
B oObj; oObj.print(); oObj.A::print(); Output : B Class Function A Class Function
इसी तरह से अगर आप child / derived class में base / parent class की किसी property या method को access करना चाहते हैं तो simply base class के name को double colon :: के साथ access कर सकते हैं।
For Example :
#include <iostream>
using namespace std;
// define base class.
class A {
public:
void print() {
cout << "A Class Function" << endl;
}
};
// define B class that inherits A class.
class B : public A {
public:
void print() {
// call base class method.
A::print();
cout << "B Class Function" << endl;
}
};
int main() {
B oObj;
oObj.print();
return 0;
}
A Class Function B Class Function