Overload در تابع های ++C – راهنمای کاربردی


تابعهای Overload شده به توابعی گفته میشود که نامی یکسان اما آرگومان(های) متفاوتی دارند. در این مقاله به بررسی نمونههایی از تابعهای Overload شده میپردازیم. برای مطالعه بخش قبلی این مجموعه مقالات آموزشی به لینک زیر مراجعه کنید:
چنان که در بخشهای قبلی صحبت کردیم تابع به معنی قطعه کدی است که به گروهبندی کد میپردازد و وظیفه خاصی را اجرا میکند. در برنامهنویسی ++C دو تابع به شرط این که تعداد و/یا نوع آرگومانهایی که ارسال میشوند متفاوت باشند، میتوانند نام یکسانی داشته باشند.
در تابعهای زیر نوع یا تعداد (و یا هر دوی) پارامترها متفاوت هستند و لذا به نام تابعهای overload شده شناخته میشوند:
در قطعه کد فوق 4 تابع به صورت تابعهای overload شده هستند، زیرا آرگومان(های) ارسالی به این تابعها متفاوت هستند. توجه داشته باشید که نوع بازگشتی هر 4 تابع یکسان هستند. تابعهای overload شده ممکن است نوع بازگشتی متفاوتی داشته باشند یا نداشته باشند، اما حتماً باید آرگومانهای متفاوتی داشته باشند.
تعداد و نوع آرگومانهای ارسالی به این دو تابع حتی با این که نوع بازگشتی متفاوت است، یکسان هستند. از این رو کامپایلر خطایی ایجاد میکند.
مثال 1
overload کردن تابع:
در ادامه، کدهای مربوطه را آوردهایم.
خروجی
Integer number: 5 Float number: 5.5 Integer number: 5 and float number: 5.5
در کد فوق، تابع ()display سه بار با انواع یا تعداد متفاوتی از آرگومانها فراخوانی میشود. نوع بازگشتی همه این تابعها یکسان است، اما الزامی برای این مسئله وجود ندارد.
مثال 2
overload کردن تابع:
خروجی
Absolute value of -5 = 5 Absolute value of 5.5 = 5.5
در مثال فوق، دو تابع ()absolute به صورت overload شده هستند. هر دو تابع آرگومان منفردی میگیرند. با این حال، یک تابع مقدار integer به عنوان آرگومان میگیرد و آرگومان دیگر از نوع float است. زمانی که تابع ()absolute با یک آرگومان integer فراخوانی شود، این تابع فراخوانی میشود:
اما زمانی که تابع ()absolute با یک آرگومان float فراخوانی شود، تابع زیر فراخوانی میشود:
بدین ترتیب به پایان این بخش از سری مقالات آموزش زبان برنامهنویسی ++C میرسیم. برای مطالعه بخش بعدی به لینک زیر رجوع کنید:
اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی
- آموزش برنامه نویسی C++
- مجموعه آموزشهای دروس علوم و مهندسی کامپیوتر
- آموزش ++C — راهنمای شروع یادگیری
- حلقه for در زبان برنامه نویسی ++C — به زبان ساده
==