c++ reset default array length within class constructor -
दिए गए वर्ग को परिभाषित किया गया है:
struct A {std :: vector & lt; int & gt; एक सूचि; ए () (के लिए (इंट आई = 0; आई & lt; ARRAY_LENGTH; i ++) aList.push_back (0); }} प्रोग्राम के दूसरे भाग से ए के तर्क-कम नियंत्रक की आवश्यकता होती है। क्या ARRAY_LENGTH भिन्न है (बाहरी फ़ाइल से पढ़ें / गुई से संशोधित), ताकि
- चरण 0: ARRAY_LENGTH = 10
- चरण 1: ऑब्जेक्ट बनाएं ए, के रूप में एक। के साथ 10।
- चरण 2: ए के नव निर्मित वस्तुओं का उपयोग करें
- चरण 3: A Li> चरण 4: प्रोग्राम के अंत तक, एआरआरएआई_एलएएनएनटी के विभिन्न मानों के साथ चरण 0 से 4 दोहराएं
ARRAY_LENGTH का संशोधन बाहरी फाइल से या तो ग्इ द्वारा संशोधित किया जाना चाहिए। और प्रोग्राम के किसी अन्य भाग में इस मान को लिखना-प्रवेश होना चाहिए।
संपादित करें (2): मैं एक अनुकार परियोजना कर रहा हूं, और कक्षा ए में aList परिवार के आकार के संभव पीडीएफ मूल्यों का प्रतिनिधित्व करता है। (एएलआईआईआईएस [0] = 0.5, एएलआईआईआईएस [1] = 0.2, एएलआईआईस्ट [3] = 0.3 कहते हैं)। अधिकतम परिवार के आकार का परिवर्तन तभी होगा जब कार्यक्रम अलग-अलग परिदृश्य चलाता है, जिसका अर्थ है कि मैं सिमुलेशन रीसेट करने के लिए ए के पहले बनाए गए ऑब्जेक्ट को नष्ट कर दूंगा।
पाठ "itemprop =" text "> मैं एक पैरामीटर कम कन्स्ट्रक्टर के लिए अपनी आवश्यकता के बारे में अनिश्चित हूँ, यह एक डिजाइन कमजोरी है लेकिन यह टिप्पणी में सुझाए गए स्थिर डिफ़ॉल्ट लंबाई पद्धति का कार्यान्वयन है
struct एक {निजी स्थिर DefaultLength = ARRAY_LENGTH; सार्वजनिक स्थिर ResetDefault (int newDefault) {DefaultLength = newDefault; } Std :: vector & lt; int & gt; एक सूचि; ए () (के लिए (इंट I = 0; i & lt; DefaultLength; i ++) aList.push_back (0); }} इस प्रकृति के ऑब्जेक्ट्स को सही ढंग से निरुपित करना होगा।
Comments
Post a Comment