लिए काम नहीं करता जबनिर्माता एसटीडी से विरासत में मिली वर्ग :: स्ट्रिंग
#include <string>
class MyString : public std::string
{
public:
MyString() {}
};
कर लेकिन नीचे उपयोग:
MyString s = "Happy day";
MyString s("Happy Day");
MyString s = (MyString)"Happy day";
न उनमें से
काम करता है।
ऐसा लगता है कि रचनाकारों/ऑपरेटरों की घोषणा/ओवरराइडिंग के साथ कुछ करने के लिए कुछ है, लेकिन क्या कोई यह इंगित करने में सहायता कर सकता है कि मुझे इन संसाधनों को कहां मिल सकता है?
धन्यवाद।
जब आप वारिस करते हैं, तो आप बेस क्लास के गैर-डिफ़ॉल्ट नियंत्रकों को छुपाते हैं। यदि आप इन रचनाकारों को आमंत्रित करना चाहते हैं, तो आपको अपने उप-वर्ग में गैर-डिफ़ॉल्ट नियंत्रकों को परिभाषित करना होगा जो उन्हें आमंत्रित करते हैं। – ChrisW
आपको std :: string से प्राप्त नहीं होना चाहिए। आप यह बता सकते हैं कि यह एक आभासी विनाशक नहीं है। आप खुद को कई संभावित समस्याओं तक खोल रहे हैं। Std :: स्ट्रिंग को सदस्य बनाएं। –