در این جلسه تیم کدگیت را با آموزش توابع در سی پلاس پلاس همراهی کنید. پیش نیاز این آموزش آشنایی با If در سی پلاس پلاس است.
توابع در سی پلاس پلاس
مجموعهای از دستورات کنار یکدیگر که یک کار را انجام میدهند، تابع میگویند. هر برنامه سی پلاس پلاس حداقل شامل یک تابع میشود که آن تابع Main است.
شما میتوانید کد خود را چندین قسمت کنید ولی نحوه تقسیم کد و تعداد قسمتها بستگی به برنامه نویس آن دارد. معمولا کدها را طوری تقسیم میکنند که هر قسمت یک عملیات خاصی را انجام دهد.
فواید توابع در سی پلاس پلاس
میتوان فواید توابع در برنامهنویسی را به دو قسمت تقسیم کرد:
- قابلیت استفاده مجدد کد (Code Reusability): با نوشتن توابع در سی پلاس پلاس میتوان یک تابع را به هر تعداد که میخواهید استفاده کنید.
- بهینه سازی کد (Code Optimization): توابع باعث میشوند کد کمتری زده و کد ما را بهینه میکنند.
انواع تابع در سی پلاس پلاس
توابع در سی پلاس پلاس به دو دسته تقسیم میشوند:
- توابع کتابخانهای: به توابعی گفته میشود که در Header تعریف میشوند. توابعی مانند sin و cos و ….. از همین دستهاند.
- توابع نوشته شده توسط کاربر: توابعی هستند که توسط برنامهنویسان سی پلاس پلاس نوشته میشوند و همه میتوانند از آن استفاده کنند.
تعریف تابع
فرم نوشتن یک تابع در سی پلاس پلاس به صورت زیر است:
return_type function_name( parameter list ) {
//body of the function
}
Return Type: هر تابع میتواند خروجی داشته باشد.در این جا Type خروجی تابع مشخص میشود(مثل int یا double).
Function Name: هر تابع نامی دارد که در قسمت Function_name قرار میگیرد.
Parameter list: در این قسمت از تابع، نوع و تعداد ورودیها مشخص شده تا هنگام صدا زدن تابع، ورودیهای لازم را در قرار دهیم.
Function Body: در این قسمت مجموعهای از دستورات قرار دارد که با صدا زدن تابع اجرا خواهند شد.
مثال توابع در سی پلاس پلاس
در اینجا مثالی در مورد توابع میزنیم. فرض کنید میخواهیم تابعی بنویسیم که دو ورودی عدد میگیرد و عدد بزرگتر را برمیگرداند. برای این کار ما تابعی به نام Max مینویسیم. کد تابع Max به صورت زیر است:
int max(int num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
int main() {
cout << max(4,2) << endl;
return 0;
}
همانطور که میبینید تابع max دو ورودی گرفته و در تابع یک متغیر به نام result تعریف کردیم که عدد بزرگتر را در آن ریخته و در خروجی تابع بازمیگردانیم(متغیری که بعد از return قرار میگیرد خروجی تابع است). سپس در main آن را صدا زدیم. خروجی تابع عدد 4 است پس در main عدد 4 برای ما چاپ میشود.