पर मैक्रो के मान को बदलना मैं सी ++ कोड का उपयोग कर विजुअल स्टूडियो 2010 में काम कर रहा हूं। मुझे क्या करना कोशिश कर रहा हूँ रन टाइम के दौरान एक पूर्वप्रक्रमक निर्देश का मूल्य बदल, यकीन नहीं करता है, तो यह संभव है, लेकिन मैं यह कोशिश की है है ..रन टाइम
somefile.h
static int mValue = 0;
#define POO = mValue;
...
#if POO 0
//define class methods
#else
//define class methods differently
}
main.cpp
main()
{
//Code calls constructor and methods allowed when POO is 0
//Code increments mValue
//Code calls constructor and methods allowed when POO is 1
}
पीओओ कैसे बदला जा सकता है ताकि कक्षा वस्तुओं अन्य तरीकों के एक अलग कार्यान्वयन का उपयोग कर सकें? या यदि यह संभव नहीं है, तो इसका दूसरा दृष्टिकोण क्या है?
आप रनटाइम पर प्रीप्रोसेसर निर्देशों को नहीं बदल सकते हैं। अलग-अलग व्युत्पन्न कक्षाओं के साथ बेस क्लास का उपयोग करना आपकी समस्या के आधार पर काम कर सकता है (जो आपने हमें दिखाया है उससे बताना मुश्किल है)। – Yuushi