Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

ऐसे कार्य जिन्हें C++ में अतिभारित नहीं किया जा सकता है

फंक्शन ओवरलोडिंग को मेथड ओवरलोडिंग के रूप में भी जाना जाता है। फ़ंक्शन ओवरलोडिंग बहुरूपता की अवधारणा द्वारा प्रदान की जाने वाली विशेषता है जिसका व्यापक रूप से ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में उपयोग किया जाता है।

फ़ंक्शन ओवरलोडिंग को प्राप्त करने के लिए, फ़ंक्शंस को इन शर्तों को पूरा करना चाहिए -

  • वापसी प्रकार के कार्य समान होने चाहिए

  • कार्यों का नाम समान होना चाहिए

  • पैरामीटर प्रकार में भिन्न हो सकते हैं लेकिन संख्या में समान होने चाहिए

उदाहरण

int display(int a); int display(float a); // both the functions can be overloaded
int display(int a); float display(float b); //both the functions can’t be overloaded as the return type of
one function is different from another

आइए उन फंक्शन के बारे में चर्चा करते हैं जिन्हें C++ में ओवरलोड नहीं किया जा सकता है

  • अलग-अलग नाम और पैरामीटर की अलग-अलग संख्या के साथ कार्य करता है

उदाहरण

#include<iostream>
using namespace std;
int max_two(int a, int b) //contains two parameters{
   if(a>b){
      return a;
   }
   else{
      return b;
   }
}
int max_three(int a, int b ,int c) //contains three parameters{
   if (a>b && a>c){
      return a;
   }
   else if(b>c){
      return b;
   }
   else{
      return c;
   }
}
int main(){
   max_two(a,b);
   return 0;
}
  • एक ही नाम लेकिन अलग रिटर्न प्रकार के साथ कार्य

उदाहरण

#include<iostream>
using namespace std;
int max_two(int a, int b){
   if(a>b){
      return a;
   }
   else{
      return b;
   }
}
float max_two(int a, int b){
   if(a>b){
      return a;
   }
   else{
      return b;
   }
}
int main(){
   max_two(a, b);
   return 0;
}
  • एक सदस्य फ़ंक्शन जो फ़ंक्शन ओवरलोडिंग की सभी शर्तों को पूरा करता है लेकिन यदि यह एक स्थिर सदस्य फ़ंक्शन है तो इसे ओवरलोड नहीं किया जा सकता है।

उदाहरण

#include<iostream>
class check{
   static void test(int i)
   { }
   void test(int i)
   { }
};
int main(){
   check ch;
   return 0;
}
  • यदि दो फ़ंक्शन बिल्कुल समान हैं, लेकिन केवल डिफ़ॉल्ट तर्कों में भिन्न हैं, यानी फ़ंक्शन में से एक में डिफ़ॉल्ट तर्क हैं, तो उन्हें समान माना जाता है, जिसका अर्थ है कि उन्हें ओवरलोड नहीं किया जा सकता है और इसलिए कंपाइलर उसी फ़ंक्शन के पुनर्घोषणा की त्रुटि फेंक देगा।

उदाहरण

#include<iostream>
#include<stdio.h>
using namespace std;
int func_1 ( int a, int b){
   return a*b;
}
int func_1 ( int a, int b = 40){
   return a+b;
}
Int main(){
   func_1(10,20);
   return 0;
}

  1. सी ++ में static_cast

    static_cast का उपयोग सामान्य/साधारण प्रकार के रूपांतरण के लिए किया जाता है। यह निहित प्रकार के जबरदस्ती के लिए जिम्मेदार कलाकार भी है और इसे स्पष्ट रूप से भी कहा जा सकता है। आपको इसका उपयोग फ्लोट को इंट, चार से इंट आदि में बदलने जैसे मामलों में करना चाहिए। यह संबंधित प्रकार की कक्षाओं को कास्ट कर सक

  1. फ़ंक्शन जिन्हें C++ में ओवरलोड नहीं किया जा सकता है

    C++ में हम फंक्शन्स को ओवरलोड कर सकते हैं। लेकिन कई बार ओवरलोडिंग नहीं होती है। इस खंड में, हम देखेंगे कि विभिन्न मामले क्या हैं, जिनमें हम कार्यों को अधिभारित नहीं कर सकते हैं। जब फ़ंक्शन सिग्नेचर समान होते हैं, केवल रिटर्न प्रकार अलग होता है, तो हम फ़ंक्शन को ओवरलोड नहीं कर सकते। int my_func(

  1. ऑपरेटर जिन्हें C++ में ओवरलोड नहीं किया जा सकता है

    आदि को ओवरलोड कर सकते हैं, लेकिन हम किसी भी ऑपरेटर को ओवरलोड नहीं कर सकते हैं। कुछ ऑपरेटरों को ओवरलोड नहीं किया जा सकता है। ये ऑपरेटर नीचे की तरह हैं ? । सदस्य पहुंच या डॉट ऑपरेटर ? ? :” टर्नरी या सशर्त ऑपरेटर ? “::” स्कोप रिजॉल्यूशन ऑपरेटर ? .* सदस्य ऑपरेटर के लिए सूचक ? आकार वस्तु आकार ऑपरेटर ? “