हेल्लो दोस्तों ! आज के इस पोस्ट में आपको abstract classes in cpp hindi के बारे में आपको बताया जा रहा है की क्या होता है कैसे काम करता है तो चलिए शुरू करते है
C++ abstract classes का परिचय
- abstract classes एक ऐसी classes होती है जिनको आप सिर्फ दूसरी classes के द्वारा ही inherit करने के लिए ही डिफाइन किया जाता है abstract classes का उद्धेश्य दूसरी classes को एक structure को provide करना होता है जिसे आप inherit किया जा सकता है
- किसी भी class को abstract बनाने के लिए उसमे कम से कम एक pure virtual function को डिफाइन किया जाना आवश्यक होता है pure virtual function को आप सिर्फ method का declaration होता है pure virtual function =0 के द्वारा ही declare किया जाता है
- एक pure virtual function की definition वह class को provide करती है जो abstract class को ही inherit करती है inherit करने वाली class को आप के लिए pure virtual function की definition को provide करना आवश्यक होता है
- यदि ऐसे नहीं किया जाता है तो आप inherit करने वाली class को स्वय भी abstract बन जाती है इसके बाद आप उसे inherit करने वाली class के लिए ही pure virtual function की definition को provide करना आवश्यक हो जाता है
- normal classes की तरह ही किसी abstract को class के objects नहीं create किये जा सकते है यदि आप ऐसे करने का प्रयास किया जाता है तो error को generate होती है
- ऐसा इसलिए होता है की क्योकि abstract classes में pure virtual functions की definition को नहीं होती है जब तक आप किसी method की definition ना हो तो उसे प्रयोग नहीं किया जा सकता है
- c++ में abstract classes के माध्यम से ही आप interface को implement किये जाते है दुसरे शब्दों में कहा जाये तो c++ में abstract classes ही interface होती है c++ में abstract classes का मुख्या उद्धेश्य modern programming language (java,c# आदि ) की ही तरह interface को implement करना ही होता है
abstract classes को डिफाइन करने के लिए आपको pure virtual functions के बारे में आपको पता होना आवश्यक होता है इसलिए आप यदि आपने अभी तक pure virtual functions के बारे में आपको नहीं पढ़ा है तो आप इनके बारे में details से बताया जा रहा है
syntax of C++ abstract classes
C++ में abstract class(interface) को डिफाइन करने का general syntax आपको निचे दिया जा रहा है
class-keyword class-name
{
//normal members here(variables,methods)
//at least one pure virual function;
}
जैसा की आप उपर दिए गए syntax में देख सकते है की normal class की ही तरह ही abstract classes में variables और methods को डिफाइन किये जाते है तो इसके लिए आलावा आप एक abstract class में pure virtual functions में भी डिफाइन किये जाते है
जब तक कम से कम एक pure virtual functions नहीं डिफाइन किये जायेगा तब तक वह class को abstract नहीं कहलायेगा आप चाहे तो किसी class के सभी functions को pure virtual को डिफाइन कर सकते है
example of C++ abstract classes
C++ में abstract classes के उपयोगी को निचे example के द्वार ही समझाया जा रहा है
#include<iostream> using namespace std; class myAbstractClass { public: int Num; virtual void setNum(int n)=0; virtual void display() { Cout<<”Num is :”<<Num; } }; class myClass:myAbstractClass {
public: void setNum(int n) { this->Num=n; this->display(); } }; int main() { myClass obj; obj.setNum(5); return 0; }
उपर दिए जा रहे example को आप निचे दिए जा रहे इसका आउटपुट निचे दिया जा रहा है
Num is : 5
reference-https://www.tutorialspoint.com/cplusplus/cpp_interfaces.htm
निवेदन:-आप सभी छात्र –छात्रों से निवेदन है की अगर आपको ये Topic(abstract classes in cpp hindi) या post अच्छा लगा हो तो कृपया आप इस वेबसाइट के बारे में अपने दोस्तों को जरुर बताये और -अगर कोई topic(abstract classes in cpp hindi) से संबधित प्रश्न हो तो कमेंट्स(comments) आपके लिए ही बना है और किसी Subject के लेकर भी कोई प्रश्न हो तो कमेंट करे “आपका comments हमारे लिए बहुमूल्य है “ *_*धन्यवाद