آموزش رایگان ++C از صفر
785 subscribers
57 photos
4 videos
3 files
12 links
ترجمه رایگان C++ سایت W3schools.com
کانال پایتون 🐍🐍🐍🐍
@pyfaw3schools
Download Telegram
توابع بلاک هایی از کد هستند که وقتی یک بار تعریف می شوند اجرا نمی شوند و برای اجرا باید آن هارا اصطلاحا به صورت مثال بالا داخل تابع دیگری به نام ()main فرا بخوانید که یک تابع از پیش تعریف شده در ++C برای اجرای برنامه‌ ها است.

برای فراخوانی تابع لازم است ابتدا نام تابع ، سپس پرانتز () و در نهایت علامت ; طبق مثال تصویر نوشته شود


هدف تابع این است که بلاکی از کد را یک بار نوشته و چندین بار در صورت نیاز اجرا کنیم
به جای این که چند بار مجددا دستورات را بنویسیم
👍1
❗️❗️❗️❗️نکته: اگر می‌خواهید تابع مقداری را برگرداند باید نوع آن را قبل نام تابع تعیین کرده و در بدنه تابع باید با return مقداری که می‌خواهید برگردانده شود را بنویسید

در مثال بالا تابع ()main چون int تعریف شده است، پس در قسمت return مقدار عدد صحیح که در اینجا 0 است برمیگرداند، اگر نوع دیگر برگردانده شود برنامه خطا می دهد

در غیر این صورت از void همانند تابع ()myFunction در مثال بالا استفاده کنید . این کلمه اگر قبل اسم تابع بیاید، یعنی هیچ مقداری را بر نمیگرداند
یک تابع در++C از دو بخش تشکیل شده است:

اعلان (Declaration): نوع بازگشتی تابع، نام تابع، و پارامترها (در صورت وجود)

تعریف (Definition): بدنه تابع (کدی که باید اجرا شود یعنی همان کدی که بین دو آکولاد قرار می گیرد)
5👍1
This media is not supported in your browser
VIEW IN TELEGRAM
نکته بسیار مهم : هیچ وقت تابع تونو بعد از ()main اعلان نکنید، چون باعث خطا می شود.

در مثال ویدیو چون تابع myFunction بعد از ()main اعلان شده است پس برنامه خطا داده است

می توانید مثال داخل ویدئو رو از لینک زیر اجرا کنید

https://www.w3schools.com/cpp/trycpp.asp?filename=demo_functions_err
14
پارامترها و آرگومان‌ها(parameters and arguments)

سلام دوستان عزیز شبتون بخیر باشه🌷🌷🌷🌷


اطلاعات می‌توانند به صورت پارامتر به توابع ارسال شوند. پارامترها متغیرهایی هستند که داخل تابع عمل میکنند

پارامترها بعد از نام تابع و داخل پرانتزها مشخص می‌شوند. شما می‌توانید هر تعداد پارامتری که می‌خواهید اضافه کنید، فقط آن‌ها را با کاما از هم جدا کنید:
void functionName(pname1, pname2, pname3) {
// کدی که باید اجرا شود
}

در مثال فوق ، تابع functionName دارای سه پارامتر به نام های pname1, pname2 و pname3 می باشد که هنگام فراخوانی تابع می‌توان به آن‌ها مقدار داد.

#برنامه_نویسی
2
یک مثال کاربردی برای درک پارامترها

توضیح کامل کد.

کتابخانه‌های iostream و string فراخوانی شده‌اند که برای ورودی و خروجی و کار با متون استفاده می‌شوند.

تابعی به نام myFunction تعریف شده است که یک پارامتر از نوع متنی به نام fname می‌گیرد. داخل این تابع، مقدار fname همراه با کلمه " Mohamadi" چاپ می‌شود.

در تابع main، تابع myFunction سه بار با مقادیر مختلفی فراخوانی می‌شود: "ali" "Ahmad", و "sadegh". هر بار که تابع فراخوانی می‌شود، مقدار داده شده به fname منتقل می‌شود و در نتیجه، نام فرد به همراه "Mohamadi" چاپ می‌شود.
9
پس از یادگیری تابع واجب است تا رفتار متغیرها را در داخل و خارج از تابع بدانید
1👍1
در این مثال، مفهومی به نام محدوده محلی (Local Scope) را بررسی می‌کنیم. وقتی یک متغیر داخل یک تابع تعریف می‌شود، آن متغیر فقط در همان تابع قابل استفاده است و بیرون از تابع قابل دسترسی نیست. به این نوع متغیرها "متغیرهای محلی" می‌گوییم

🔔🔔🔔توضیح کد:

تعریف تابع myFunction:

داخل این تابع، یک متغیر محلی به نام x تعریف شده است که مقدار آن ۵ است:
int x = 5;

سپس با استفاده از دستور cout << x;، مقدار این متغیر چاپ می‌شود.
اجرای تابع myFunction در main:

در تابع main، تابع myFunction فراخوانی می‌شود:
myFunction();

وقتی تابع اجرا می‌شود، مقدار متغیر x که 5 است، در خروجی نشان داده می‌شود.
خروجی:

چون متغیر x در محدوده محلی تابع myFunction قرار دارد، فقط در این تابع قابل استفاده است و خارج از آن تابع قابل دسترسی نیست.
بنابراین خروجی این برنامه مقدار x یعنی 5 خواهد بود.
🔴🔴🔴🔴نکته:🔴🔴🔴🔴
اگر سعی کنید خارج از تابع myFunction به متغیر x دسترسی پیدا کنید، با خطا مواجه خواهید شد، زیرا این متغیر فقط در محدوده تابع خودش تعریف شده است.
👍2
متغیری که خارج از یک تابع تعریف می‌شود، به عنوان متغیر سراسری (Global Variable) شناخته می‌شود و در هر جایی از برنامه، چه در توابع (که محدوده محلی شناخته می شوند ) و چه در محدوده سراسری برنامه قابل دسترسی می باشد.


در مثال فوق :

متغیر x خارج از توابع و به صورت سراسری تعریف شده است.

در هر دو تابع main و myFunction می‌توان به متغیر x دسترسی داشت و مقدار آن را نمایش داد. و مقدار x در هر دو یکسان است
👍21
آموزش رایگان ++C از صفر
Photo
دوستان عزیز بی زحمت این پستو برسونید به ده تا ❤️ تا مثال هاشو آماده میکنیم
4
مثال تابع بازگشتی : جمع اعداد از یک تا یک عدد دلخواه
نوشتن یک تابع که جمع دو عدد دلخواه رو حساب کنه کار بسیار ساده ایه کافیه که یک تابع بنویسیم که دو تا عدد رو به عنوان پارامتر بگیره و حاصل جمع رو در قسمت return برگردونه


اما مثلا جمع اعداد از یک تا 10 کار ساده ای نیست در مثال فوق ما از برگشت استفاده کردیم تا این جمع تبدیل به دو جمع ساده بشه

در پست بعدی نشون میدیم که بازگشت در این مثال چطور اجرا می شود؟

#برنامه_نویسی
4👍2
آموزش شی گرایی
c++
یک زبان برنامه نویسی شی گراست. همه چیز در ++C با اشیا و کلاس در ارتباط است. مثلا در زندگی واقعی یک ماشین یک شیء است. ماشین ویژگی‌هایی یا attribute هایی مانند وزن و رنگ دارد و متدهایی مانند رانندگی و ترمز دارد

ویژگی‌ها و متدها در واقع متغیرها و توابعی هستند که به کلاس تعلق دارند. این موارد اغلب به عنوان "اعضای کلاس" (Class Members) نامیده می‌شوند.

یک کلاس نوع داده‌ای است که توسط کاربر تعریف می‌شود و می‌توانیم از آن در برنامه خود استفاده کنیم. کلاس به عنوان یک سازنده شیء یا یک "نقشه" برای ایجاد اشیاء عمل می‌کند


توضیح کد :
🏅 کلیدواژه class برای ایجاد کلاسی به نام MyClass استفاده می‌شود.

🏅کلیدواژه public یک مشخص‌کننده دسترسی است که تعیین می‌کند اعضای (ویژگی‌ها و متدهای) کلاس از خارج از کلاس قابل دسترسی هستند. در ادامه بیشتر با مشخص‌کننده‌های دسترسی آشنا خواهید شد.

🏅داخل کلاس، یک متغیر صحیح به نام myNum و یک متغیر رشته‌ای به نام myString وجود دارد. وقتی متغیرها درون یک کلاس تعریف می‌شوند، به آن‌ها ویژگی‌ها گفته می‌شود.

در نهایت، تعریف کلاس با یک سمی‌کالن ; به پایان می‌رسد.
6
در ++C، یک شیء از یک کلاس ایجاد می‌شود. ما قبلاً کلاسی به نام MyClass ایجاد کرده‌ایم، بنابراین اکنون می‌توانیم از این کلاس برای ایجاد اشیاء استفاده کنیم.

🔔 برای ایجاد یک شیء از کلاس MyClass، نام کلاس را مشخص کرده و سپس نام شیء را بنویسید.

🔔 برای دسترسی به ویژگی‌های کلاس (myNum و myString)، از نقطه‌ (.) بعد از نام شیء مورد نظر استفاده کنید.


#برنامه_نویسی
5
متدها توابعی هستند که به کلاس تعلق دارند.📚

دو روش برای تعریف توابعی که به یک کلاس تعلق دارند وجود دارد:

🎯🎯 داخل تعریف کلاس
🎯🎯خارج از تعریف کلاس

در این مثال ، ما یک تابع را در داخل کلاس تعریف می‌کنیم و نام آن را "myMethod" می‌گذاریم.

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

#سی_پلاس_پلاس
#برنامه_نویسی
3
تعریف متد خارج از کلاس

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

class MyClass {        // کلاس
public: // مشخص کننده دسترسی
void myMethod(); // اعلام تابع
};

// تعریف تابع خارج از کلاس
void MyClass::myMethod() {
cout << "Hello World!";
}

int main() {
MyClass myObj; // ایجاد یک شیء از کلاس MyClass
myObj.myMethod(); // فراخوانی تابع
return 0;
}
5👍1
توابع سازنده در کلاس ها
توابع سازنده نوعی متد کلاس هستند که زمانی که یک شی از کلاس ایجاد شد، به طور خودکار فراخوانی می شوند.

برای ایجاد تابع سازنده کافی است فقط نام کلاس را به همراه پرانتز استفاده کنید:

#include <iostream>
using namespace std;

class MyClass {
public:
MyClass() {
cout << "Hello World!";
}
};

int main() {
MyClass myObj;
return 0;
}

در مثال بالا ما یک تابع سازنده تعریف کردیم که مقدار
"Hello World"
را در خروجی نمایش می دهد. وقتی شی myObjectآیجاد شد مقدار بالا در خروجی نمایش داده می شود


می تونید مثال بالا رو در لینک زیر اجرا نمایید :

https://www.w3schools.com/cpp/trycpp.asp?filename=demo_constructor
8
3 نکته مهم در ارتباط با سازنده ها:

🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟

نام یکسان با کلاس دارند
نحوه دسترسی همیشه public است
مقداری را برنمیگردانند یعنی return ندارند
7