अगर यह संभव हो गया था जब वस्तु निर्माता के लिए यह में पारित कर दिया चीजों की जरूरत की वस्तुओं की एक सरणी बनाने के लिए मैं सोच रहा था के साथ वस्तुओं की एक सरणी घोषित करने के लिए।कैसे गतिशील रूप से ग में एक निर्माता ++
MyClass *myVar;
myVar = new MyClass[num]; // I would like to specify the array size after declaration
int i = 0;
for(i = 0;i < num;i++)
myVar[i] = new MyClass(0,0); // I would also like to populate the array with new objects
मुझे पता है कि यह काम करता है:: मैं कुछ इस तरह चाहते
MyClass *myVar;
myVar = new MyClass[num];
लेकिन यह केवल काम करता है जब निर्माता कुछ भी नहीं है इसे में पारित कर दिया। क्या मैं संभव करने की कोशिश कर रहा हूं? यदि ऐसा है, तो मुझे इसे कैसे करना है?
संपादित करें: मुझे पता चला कैसे सरणियों उपयोग करने के साथ यह करने के लिए। यहाँ है कैसे मैंने किया:
MyClass **myVar;
myVar = new MyClass *[num];
for(i = 0;i < num;i++)
myVar[0] = new MyClass(0,0);
मैं वैक्टर और इस तरह का प्रयोग करेंगे, लेकिन मेरे शिक्षक बुनियादी सरणियों जब भी संभव हो उपयोग करने के लिए हमें बताया गया है। उपरोक्त समाधान मैं वास्तव में मेरे शिक्षक ने लिखा कुछ कोड से मिला है। आपकी मदद के लिए आप सभी को शुक्रिया!
धन्यवाद! मैं वास्तव में वैक्टरों के बजाय सरणी का उपयोग करके एक दृष्टिकोण की तलाश में था क्योंकि मेरा शिक्षक वर्ग को इसके बजाय सरणी का उपयोग करना चाहता था। हालांकि मुझे जवाब मिला। – user972276
@ user972276: यदि आप गैर-डिफ़ॉल्ट कन्स्ट्रक्टर का आह्वान करना चाहते हैं तो एरे के लिए आपका पहला दृष्टिकोण यह है कि कोई क्या कर सकता है। हालांकि, भविष्य में, यदि आपको कभी भी सरणी की आवश्यकता है, * पहले * 'std :: vector' का उपयोग करने पर विचार करें। यह बहुत बढ़िया फीचर के साथ एक शानदार कंटेनर है। – Nawaz