संभव डुप्लिकेट:
function overloading in Cएएनएसआई सी और समारोह अधिक भार
एएनएसआई सी समारोह ओवरलोडिंग की अनुमति नहीं देता (मैं C99 बारे में निश्चित नहीं करते हैं)।
उदाहरण के लिए:
char max(char x, char y);
short max(short x, short y);
int max(int x, int y);
float max(float x, float y);
एक वैध एएनएसआई सी स्रोत कोड नहीं है।
एएनएसआई सी में फ़ंक्शन ओवरलोडिंग समस्या के लिए कौन सी तकनीक (या विचार) का उपयोग किया जाना चाहिए?
नोट:
एक उत्तर कार्यों का नाम बदलने है, लेकिन जो पैटर्न नाम के लिए इस्तेमाल किया जाना चाहिए, कि फ़ंक्शन नाम 'अच्छा समारोह का नाम' रहते हैं?
उदाहरण के लिए:
char max1(char x, char y);
short max2(short x, short y);
int max3(int x, int y);
float max4(float x, float y);
एक अच्छा नामकरण के लिए max
समारोह नाम नहीं है।
शायद 'अधिकतम' मैक्रो परिभाषित करें? ;-) –
@DidierTrosset: अधिकतम केवल एक उदाहरण है, छवि एक बहुत ही जटिल कार्य है। –
यदि फ़ंक्शन ओवरलोडिंग आपके लिए महत्वपूर्ण है तो शायद आपको सी के बजाय सी ++ का उपयोग करने पर विचार करना चाहिए? –