मैं सवाल क्यों हम गुंजाइश संकल्प ऑपरेटर या this
सूचक एक टेम्पलेट आधार वर्ग से सार्वजनिक रूप से विरासत में मिला सदस्यों का उपयोग करने की आवश्यकता है पर कुछ स्पष्टीकरण की आवश्यकता है। जैसा कि मैं समझता हूं कि यह स्पष्टता जोड़ने के लिए है, लेकिन फिर this
कैसे इंगित करता है कि यह कक्षा का सदस्य है, इसकी तुलना में कोई और स्पष्टता जोड़ें।एक्सेस करना सार्वजनिक विरासत में मिला खाका डेटा सदस्यों
मेरा प्रश्न स्पष्ट करने के लिए मैंने कुछ कोड जोड़ा है।
#include <iostream>
using namespace std;
template <class T, class A>
class mypair {
public:
T a, b;
public:
mypair (T first, T second)
{a=first; b=second;}
virtual void printA()
{
cout<<"A"<<a<<endl;
cout<<"B"<<b<<endl;
}
};
template <class T, class A>
class next: mypair<T,A>
{
public:
next (T first, T second) : mypair<T,A>(first, second)
{
}
void printA()
{
cout<<"A:"<<mypair<T,A>::a<<endl; // this->a; also works
cout<<"B:"<<mypair<T,A>::b<<endl; // this-b; also works
}
};
int main() {
next<double,float> newobject(100.25, 75.77);
newobject.printA();
return 0;
}
आउटपुट:
A:100.25
B:75.77
तो मैं गुंजाइश (या इस ऑपरेटर) तो गुंजाइश त्रुटि से बाहर आता है हटा दें। लेकिन सार्वजनिक रूप से विरासत वाले सदस्यों के लिए हमें एक दायरे की आवश्यकता क्यों है।
इस पर कुछ विचार बहुत अच्छे होंगे।
दिलचस्प पढ़ें तो यह केवल टेम्पलेट के साथ एक विशेष मामला है? – Sii
केवल टेम्पलेट वर्ग में कार्यों में। –