در این مقاله با معنی آرگومان های پیش فرض و روش استفاده از آنها و اعلانهای ضروری برای کاربردشان آشنا میشوید. در برنامهنویسی ++C میتوانید مقادیر پیشفرض را برای پارامترهای تابع ارائه کنید.
ایده تشکیلدهنده آرگومان پیشفرض ساده است. اگر تابعی به وسیله آرگومان(های) ارسالی فراخوانی شود آن آرگومانها از سوی تابع استفاده میشوند. اما اگر آرگومان(ها) در زمان فراخوانی یک تابع ارسال نشوند، در این صورت مقادیر پیشفرض مورد استفاده قرار میگیرند. مقادیر پیشفرض در پروتوتایپ تابع به آرگومانها ارسال میشوند. برای مطالعه بخش قبلی این مجموعه مطلب آموزشی روی لینک زیر کلیک کنید:
در ادامه به یک مثال در همین رابطه میپردازیم.
آرگومان پیشفرض
خروجی
No argument passed: * First argument passed: # Both argument passed: $$$$$
در برنامه فوق، میتوانید مقدار پیشفرض انتساب یافته به آرگومانها را ببینید:
در ابتدا، تابع ()display بدون ارسال هیچ پارامتری فراخوانی میشود. در این حالت، تابع ()display از هر دو آرگومان c = * و n = 1 استفاده میکند.
سپس در دفعه دوم تنها آرگومان نخست با استفاده از تابع ارسال میشود. در این حالت، تابع از مقدار پیشفرض نخست ارسالی استفاده نمیکند. بدین ترتیب از پارامتر واقعی ارسالی به عنوان آرگومان نخست # = c استفاده میکنیم و مقدار پیشفرض n=1 به عنوان آرگومان دوم میگیرد.
زمانی که ()display برای بار سوم فراخوانی میشود، هر دو آرگومان ارسال میشوند، آرگومانهای پیشفرض مورد استفاده قرار نمیگیرند. بنابراین مقدار $ = c و n=5 استفاده میشوند.
در این حالت، c و d نیز باید مقادیر پیشفرض بگیرند. اگر میخواهید یک آرگومان پیشفرض منفرد داشته باشد، باید مطمئن شوید که آرگومان به عنوان آخرین مورد است.
مهم نیست که از آرگومانهای پیشفرض چگونه استفاده میکنید، چون یک تابع باید همواره طوری نوشته شود که تنها یک منظور را اجرا کند.
اگر تابع شما با بیش از یک چیز یا منطق پیوند دارد، بیش از حد پیچیده محسوب میشود و بهتر است که از overload کردن تابع برای جداسازی منطق بهره بگیرید.
منبع: فرادرس