موسسه خیریه محک

شهر ریاضی بازی-ریاضی

میشه آرگومان های ورودی یک تابع، در صورت نیاز مقدار دهی اولیه بشن؟ چجوری؟

+1 امتیاز
521 نمایش

مبخوام تابعی بنویسم که اگر موقع فراخونی مقدار مشخصی بهش داده نمیشد، خودش یه مقدار پیش فرض در وان آرگومان قرار بده. چجوری این کارو انجام بدم؟

#include<iostream>
using namespace std;
int sum(int a=0,int b=0);
int main(){
    int z,x,y;
/*    x=3;
    y=2;*/
    z=sum(x,y);
    cout<<z<<endl;
    system("pause");
    return 0;
    }
   int sum(int a, int b){
        int s;
        s=a+b;
        return s;
        }

الان اگه مقداری رو ندم به این متغیر‌ها بازم صفر چاپ نمیکنه و مقداری که خودش موقع تعریف میذاره تو یک متغیر رو میبره به تابع و جمعشو حساب میکنه.
باید چیکار کنم الان؟

در ++C زبانی بسیار کوچک‌تر و پاکیزه‌تر در تلاش برای خروج است. (Bjarne Stroustrup)
پرسیده شده دوشنبه ۴ دی ۱۳۹۱ در C++ توسط برنامه‌نویس  
بازتگ شده پنجشنبه ۲۹ فروردین ۱۳۹۲ توسط admin

1 پاسخ

+1 امتیاز

ببینین!
این حالت برای وقتی استفاده میشه که شما مقداری ندین به تابع!
ینی وقتی مقداری نمیدین، تابع به طور پیش فرض، اون مقدار خودش رو میذاره، ولی وقتی دارین مقدار میدین که دارین مقدار میدین دیگه! (اهمیتی نداره که اون متغیرتون مقدار توسط شما بگیره یا موقع تعریف خودش یه مقداری اختیار کرده باشه!)
تابع هم اونو حساب میکنه!
بطور مثال عرض میکنم خدمتتون، تو همین تابع خودتون، از حالت پیش فرض وقتی استفاده میشه که شما اینجوری تابعتونو فراخونی کنین:

z=sum();

که در این صورت، مقادیر 0 و 0 رو قرار میده تو تابع و جمعشونو که 0 باشه برمیگردونه.

پاسخ داده شده یکشنبه ۱۷ دی ۱۳۹۱ توسط CPP_Crawler4