آرگومان های پیش فرض در ++C — به زبان ساده (+ دانلود فیلم آموزش گام به گام)

۲۵۱ بازدید
آخرین به‌روزرسانی: ۸ مرداد ۱۴۰۲
زمان مطالعه: ۲۰ دقیقه

در این مقاله با معنی آرگومان های پیش فرض و روش استفاده از آن‌ها و اعلان‌های ضروری برای کاربردشان آشنا می‌شوید. در برنامه‌نویسی ++C می‌توانید مقادیر پیش‌فرض را برای پارامترهای تابع ارائه کنید.

فیلم آموزشی آرگومان‌های پیش فرض در ++C

دانلود ویدیو

ایده تشکیل‌دهنده آرگومان پیش‌فرض ساده است. اگر تابعی به وسیله آرگومان(های) ارسالی فراخوانی شود آن آرگومان‌ها از سوی تابع استفاده می‌شوند. اما اگر آرگومان(ها) در زمان فراخوانی یک تابع ارسال نشوند، در این صورت مقادیر پیش‌فرض مورد استفاده قرار می‌گیرند. مقادیر پیش‌فرض در پروتوتایپ تابع به آرگومان‌ها ارسال می‌شوند. برای مطالعه بخش قبلی این مجموعه مطلب آموزشی روی لینک زیر کلیک کنید:

کار کردن با آرگومان‌های پیش‌فرض

آرگومان های پیش فرض

مثال

در ادامه به یک مثال در همین رابطه می‌پردازیم.

آرگومان پیش‌فرض

// ++C Program to demonstrate working of default argument
#include <iostream>
using namespace std;
void display(char = '*', int = 1);
int main()
{
    cout << "No argument passed:\n";
    display();
    
    cout << "\nFirst argument passed:\n";
    display('#');
    
    cout << "\nBoth argument passed:\n";
    display('$', 5);
    return 0;
}
void display(char c, int n)
{
    for(int i = 1; i <= n; ++i)
    {
        cout << c;
    }
    cout << endl;
}

خروجی

No argument passed:
*

First argument passed:
#

Both argument passed:
$$$$$

در برنامه فوق، می‌توانید مقدار پیش‌فرض انتساب یافته به آرگومان‌ها را ببینید:

void display(char = '*', int = 1);

در ابتدا، تابع ()display بدون ارسال هیچ پارامتری فراخوانی می‌شود. در این حالت، تابع ()display از هر دو آرگومان c = * و n = 1 استفاده می‌کند.

سپس در دفعه دوم تنها آرگومان نخست با استفاده از تابع ارسال می‌شود. در این حالت، تابع از مقدار پیش‌فرض نخست ارسالی استفاده نمی‌کند. بدین ترتیب از پارامتر واقعی ارسالی به عنوان آرگومان نخست # = c استفاده می‌کنیم و مقدار پیش‌فرض n=1 به عنوان آرگومان دوم می‌گیرد.

زمانی که ()display برای بار سوم فراخوانی می‌شود، هر دو آرگومان ارسال می‌شوند، آرگومان‌های پیش‌فرض مورد استفاده قرار نمی‌گیرند. بنابراین مقدار $ = c و n=5 استفاده می‌شوند.

خطاهای رایج هنگام استفاده از آرگومان پیش‌فرض

void add(int a, int b = 3, int c, int d = 4);

تابع فوق کامپایل نخواهد شد، چون شما نمی‌توانید آرگومان پیش‌فرض را در بین دو آرگومان نادیده بگیرید. در این حالت c باید به یک مقدار پیش‌فرض انتساب یابد.

void add(int a, int b = 3, int c, int d);

تابع فوق نیز کامپایل نخواهد شد. شما باید مقادیر پیش‌فرض را برای هر آرگومان پس از b ذکر کنید.

در این حالت، c و d نیز باید مقادیر پیش‌فرض بگیرند. اگر می‌خواهید یک آرگومان پیش‌فرض منفرد داشته باشد، باید مطمئن شوید که آرگومان به عنوان آخرین مورد است.

void add(int a, int b, int c, int d = 4);

مهم نیست که از آرگومان‌های پیش‌فرض چگونه استفاده می‌کنید، چون یک تابع باید همواره طوری نوشته شود که تنها یک منظور را اجرا کند.

اگر تابع شما با بیش از یک چیز یا منطق پیوند دارد، بیش از حد پیچیده محسوب می‌شود و بهتر است که از overload کردن تابع برای جداسازی منطق بهره بگیرید. برای مطالعه بخش  بعدی این سری مقالات به لینک زیر مراجعه کنید:

اگر این مطلب برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

بر اساس رای ۴ نفر
آیا این مطلب برای شما مفید بود؟
شما قبلا رای داده‌اید!
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
programiz

نظر شما چیست؟

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