मैं पॉइंटर्स के साथ कुछ करने की कोशिश कर रहा हूं जो सदस्यों को काम नहीं कर सकता है कि मैं यह नहीं समझ सकता कि यह कैसे काम करता है।फ़ंक्शन सदस्य
मैं एक वर्ग एक है कि इस
class A
{
public:
float Plus (float a, float b) { return a+b; }
float Minus (float a, float b) { return a-b; }
float Multiply(float a, float b) { return a*b; }
float Divide (float a, float b) { return a/b; }
};
मैं एक करने के लिए एक सूचक की घोषणा और फिर एक और कार्य करने के लिए ए के सदस्यों में से एक के लिए एक समारोह सूचक पास करना चाहते हैं तरह दिखता है
void Will_Get_Function_Pointer(float a, float b, float (A::*pt2Func)(float, float))
{
(...)
}
कहाँ मैं इसे इस
01 की तरह कुछ के साथ कहेंगे: कुछ ने इसे पसंद कियामैं कुछ है कि इस
vector<A> vecA;
myA = &vecA[xxx]
ऐसा करने की तरह दिखाई देगा में एक वस्तुओं का संग्रह में क्योंकि मेरा अंतिम कार्यान्वयन एक में स्थिर/स्थिरांक सदस्यों उपयोग नहीं कर सकते एक विशिष्ट एक को इंगित करेगा बुरी तरह विफल रहता है
typedef float (A::*pA)(float x, float y);
pA p = &myA->Minus;
और संकलक मुझे मेरे लिए & एक :: माइनस लेकिन यह अभ्यस्त काम का उपयोग करने में बताता है।
क्या मैं यह भी कर सकता हूं?
चीयर्स
@ForEverT धन्यवाद! यह बहुत अच्छा काम किया! –