C++ में इंटरफ़ेस कैसे घोषित करें? शुद्ध वर्चुअल फ़ंक्शन और एब्सट्रैक्ट क्लास
सभी को नमस्कार! मैंने हाल ही में Java के बाद C++ सीखना शुरू किया है, और मुझे इंटरफ़ेस घोषित करने में समस्या आ रही है। Java में मैं `interface MyInterface { void doSomething(); }` लिखने का आदी हूँ, और कोई भी क्लास इसे implement कर सकता है।
लेकिन C++ में मुझे `interface` कीवर्ड का एनालॉग नहीं मिल रहा है। मैंने सामान्य वर्चुअल फ़ंक्शन के साथ एक क्लास बनाने की कोशिश की, लेकिन कंपाइलर त्रुटि देता है कि क्लास को instantiate नहीं किया जा सकता अगर फ़ंक्शन शुद्ध वर्चुअल नहीं है। मैंने यह लिखा:
```cpp
class IShape {
public:
virtual double area(); // त्रुटि: शुद्ध वर्चुअल नहीं
virtual void draw(); // त्रुटि
};
```
फिर मैंने `= 0` जोड़ा, और कोड compile हो गया:
```cpp
class IShape {
public:
virtual double area() = 0;
virtual void draw() = 0;
};
```
लेकिन मुझे यकीन नहीं है कि यह इंटरफ़ेस घोषित करने का सही तरीका है। क्या मुझे destructor को वर्चुअल बनाना चाहिए? मल्टीपल इनहेरिटेंस के बारे में क्या? और अगर मैं चाहता हूँ कि इंटरफ़ेस में कुछ methods के लिए सामान्य implementation हो, तो क्या करूँ?
उदाहरणों के लिए आभारी रहूँगा।