के लिए समान है यदि आपके पास स्थैतिक चर के साथ टेम्पलेट क्लास है, तो वैरिएबल को क्लास के सभी प्रकारों में समान होने के लिए कोई तरीका है प्रत्येक?स्टेटिक सदस्यों के साथ सी ++ टेम्पलेट क्लास - सभी प्रकार के वर्ग
template <typename T> class templateClass{
public:
static int numberAlive;
templateClass(){ this->numberAlive++; }
~templateClass(){ this->numberAlive--; }
};
template <typename T> int templateClass<T>::numberAlive = 0;
और मुख्य:
templateClass<int> t1;
templateClass<int> t2;
templateClass<bool> t3;
cout << "T1: " << t1.numberAlive << endl;
cout << "T2: " << t2.numberAlive << endl;
cout << "T3: " << t3.numberAlive << endl;
यह आउटपुट:
T1: 2
T2: 2
T3: 1
के रूप में कहाँ वांछित व्यवहार है:
फिलहाल मेरे कोड इस तरह है
T1: 3
T2: 3
T3: 3
मुझे लगता है मैं वैश्विक पूर्णांक के कुछ प्रकार के साथ यह कर सकता है कि इस वर्ग के वेतन वृद्धि और decrements, लेकिन यह does not किसी भी प्रकार के बहुत ही तार्किक लगता है, या वस्तु उन्मुख
आप किसी को जो मुझे इस को लागू करने में मदद कर सकते हैं धन्यवाद।
क्या ये कक्षाएं एकाधिक धागे पर तत्काल हो जाएंगी? पोस्ट वृद्धि/कमी धागा सुरक्षित नहीं है। –
@ ta.speot.is: कोई ऑपरेशन मूल रूप से थ्रेड-सुरक्षित नहीं है। मुझे यकीन नहीं है कि यह यहां क्यों प्रासंगिक है; कोई भी धागे का उल्लेख नहीं किया! –
ओह, हाँ, इन्हें शायद कई धागे पर इस्तेमाल करने की आवश्यकता होगी, मुझे इसे देखना होगा। – jtedit