آموزش سربارگذاری توابع در C++ (سربارگذاری توابع)

آموزش سربارگذاری توابع در C++ (سربارگذاری توابع)

folderتوابع
comments1 دیدگاه
اساطیر زبان

به توابع هم نامی که آرگومان (ها)ی متفاوتی دارند، توابع سربارگذار می گویند. در این آموزش، سربارگذاری توابع را به همراه مثال یاد خواهید گرفت.

تابع اشاره به بخشی از کد دارد که کار خاصی انجام می دهند. در برنامه نویسی ++C، دو تابع می توانند نام یکسانی داشته باشند، ولی باید تعداد یا نوع آرگومان هایشان متفاوت باشد. این توابع در تعداد یا نوع (یا هر دو) آرگومان ها تفاوت دارند و به عنوان توابع سربارگذار شناخته می شوند. به عنوان مثال:

 


سی پلاس پلاس

توی این پک فوق العاده، سی پلاس پلاس رو جوری یاد میگیری که تو هیچ کلاس آموزشی یا پک دیگه ای نه دیدی نه شنیدی! بدون هیچ کلاسی، با سی پلاس پلاس به عمق فهم برنامه نویسی شیرجه بزن، پروژه محور یاد بگیر و حسابی پول در بیار! 


 

 


برنامه نویسی شبکه معماری کامپیوتر هوش مصنوعی و تجاری

توی این پک فوق العاده، صفرتاصد مبانی برنامه نویسی رو جوری یاد میگیری که تو هیچ کلاس آموزشی یا پک دیگه ای نه دیدی نه شنیدی! بدون هیچ کلاسی، با صفرتاصد مبانی برنامه نویسی اپلیکیشن بزن، پروژه محور یاد بگیر و حسابی پول در بیار! 


 

int test() { }

int test(int a) { }

float test(double a) { }

int test(int a, double b) { }

در اینجا، تمام ۴ تابع، توابع سربارگذار هستند، زیرا آرگومان (ها)ی ارسالی به توابع متفاوت اند.

توجه داشته باشید که نوع بازگشتی این ۴ تابع یکسان نیستند. توابع سربارگذار ممکن است نوع بازگشتی متفاوت داشته باشند یا نداشته باشند، اما باید آرگومان های متفاوت داشته باشند.

// Error code

int test(int a) { }

double test(int b){ }

تعداد و نوع آرگومان های ارسال شده به این دو توابع مشابه هستند هر چند نوع بازگشتی متفاوت است. از این رو، کامپایلر خطا می دهد.

مثال ۱ : سربار گذاری توابع در C++

  1. #include <iostream>
  2. using namespace std;
  3. void display(int);
  4. void display(float);
  5. void display(int, float);
  6. int main() {
  7. int a = 5;
  8. float b = 5.5;
  9. display(a);
  10. display(b);
  11. display(a, b);
  12. return 0;
  13. }
  14. void display(int var) {
  15. cout << “Integer number: ” << var << endl;
  16. }
  17. void display(float var) {
  18. cout << “Float number: ” << var << endl;
  19. }
  20. void display(int var1, float var2) {
  21. cout << “Integer number: ” << var1;
  22. cout << ” and float number:” << var2;
  23. }

خروجی

Integer number: 5

Float number: 5.5

Integer number: 5 and float number: 5.5

در اینجا، تابع ()display سه بار با نوع یا تعداد متفاوت آرگومان صدا زده شده است.

نوع بازگشتی همه ی توابع یکسان است، اما الزام نیست.

مثال ۲ : سر بار گذاری توابع در C++

  1. // Program to compute absolute value
  2. // Works both for integer and float
  3. #include <iostream>
  4. using namespace std;
  5. int absolute(int);
  6. float absolute(float);
  7. int main() {
  8. int a = -5;
  9. float b = 5.5;
  10. cout << “Absolute value of ” << a << ” = ” << absolute(a) << endl;
  11. cout << “Absolute value of ” << b << ” = ” << absolute(b);
  12. return 0;
  13. }
  14. int absolute(int var) {
  15. if (var < 0)
  16. var = -var;
  17. return var;
  18. }
  19. float absolute(float var){
  20. if (var < 0.0)
  21. var = -var;
  22. return var;
  23. }

خروجی

Absolute value of -5 = 5

Absolute value of 5.5 = 5.5

در مثال بالا، دو توابع ()absolute سربارگذاری دارند.

هر دو تابع یک آرگومان دارند. با این حال، یک تابع integet می گیرد و دیگری float .

هنگامی که تابع ()absolute با آرگومان صحیح صدا زده می شود، تابع زیر فراخوانی می شود:

int absolute(int var) {

if (var < 0)

var = -var;

return var;

}

هنگامی که تابع ()absolute با آرگومان float صدا زده می شود، تابع زیر فراخوانی می شود:

float absolute(float var){

if (var < 0.0)

var = -var;

return var;

}

تفاوت پک های حرفه ای ما با آموزشهای رایگان: بطور خلاصه از زمین تا آسمان! 1-پکها، جدیدترین نسخه نرم افزارها را آموزش می دهند با قابلیت های بسیار بیشتر. 2-پکها توسط متخصص آن نرم افزار، به صورت کاملا پروژه محور و با حل چالش هایی که در مسیر کار عملی و حرفه ای با آن روبرو می شوید تهیه شده اند و بعد از استفاده، کاملا برای بازار کار آماده اید! 3- متد این پکها کاملا کار شده و تا ماهها، در ذهن تان ماندگارند و یادگیری بسیار سریعتر و کاملتری خواهید داشت. آموزشهای رایگان فقط دستورات نرم افزارها را (آنهم ناقص) بیان می کنند و تازه برای ورود به بازار باید ماهها تجربه عملی هم کسب کنید !!

turned_in,

چرب زبان

با این اپلیکیشن ساده، هر زبانی رو فقط با 5 دقیقه در روز، توی 80 روز مثل بلبل حرف بزن! بهترین متد روز، تقویت حافظه، آموزش تصویری. یادگیری زبان کلید یادگیری هر مهارتی در قرن 21 !


حتما بخوانید!

1 دیدگاه. ارسال دیدگاه جدید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.

فهرست