مثالی کاربردی از overload
#تکمیلی قسمت ۱۹
لطفا اگر شما هم مثالی در نظر دارید ارسال کنید تا به اسم شما در کانال ثبت شود
#تکمیلی قسمت ۱۹
لطفا اگر شما هم مثالی در نظر دارید ارسال کنید تا به اسم شما در کانال ثبت شود
مثالی از کاربرد overloading
using namespace std;
int absolute(int);
float absolute(float);
int main() {
int a = -5;
float b = 5.5;
return 0;
}
int absolute(int var) {
if (var < 0)
var = -var;
return var;
}
float absolute(float var){
if (var < 0.0)
var = -var;
return var;
}
// Program to compute absolute value
// Works both for integer and float
#include <iostream>
using namespace std;
int absolute(int);
float absolute(float);
int main() {
int a = -5;
float b = 5.5;
cout << "Absolute value of " << a << " = " << absolute(a) << endl;
cout << "Absolute value of " << b << " = " << absolute(b);
return 0;
}
int absolute(int var) {
if (var < 0)
var = -var;
return var;
}
float absolute(float var){
if (var < 0.0)
var = -var;
return var;
}
C++ program آموزش
https://cdn.programiz.com/sites/tutorial2program/files/cpp-default-arguments.jpg
قسمت ۲۰
مقدار اولیه
مقدار اولیه زمانی استفاده می شود که شما می خواهید در صورتی که کاربر مقداری را در تابع مورد نظر وارد نکرد خود تابع مقدار اولیه را در نظر بگیرد و به وسیله ی آن عملیات های خود را انجام دهد
برای مثال عمل رادیکال دارای مقدار اولیه فرجه ۲ می باشد ولی حال آنکه این مقدار می تواند به ۳ یا عدد صحیح بالاتری نیز تغییر یابد اما چون بیشتر مقدار ۲ در این تابع مورد استفاده است می توان آن را به صورت مقدار اولیه قرار داد تا در صورتی که عددی به عنوان زیر رادیکال ارسال شد و فرجه مشخص نگردید به صورت خودکار جذر عدد یعنی فرجه ۲ آن محاسبه شود
نحوه ایجاد مقدار اولیه در شکل پایین نمایش داده شده است
مقدار اولیه
مقدار اولیه زمانی استفاده می شود که شما می خواهید در صورتی که کاربر مقداری را در تابع مورد نظر وارد نکرد خود تابع مقدار اولیه را در نظر بگیرد و به وسیله ی آن عملیات های خود را انجام دهد
برای مثال عمل رادیکال دارای مقدار اولیه فرجه ۲ می باشد ولی حال آنکه این مقدار می تواند به ۳ یا عدد صحیح بالاتری نیز تغییر یابد اما چون بیشتر مقدار ۲ در این تابع مورد استفاده است می توان آن را به صورت مقدار اولیه قرار داد تا در صورتی که عددی به عنوان زیر رادیکال ارسال شد و فرجه مشخص نگردید به صورت خودکار جذر عدد یعنی فرجه ۲ آن محاسبه شود
نحوه ایجاد مقدار اولیه در شکل پایین نمایش داده شده است
مثالی از مقدار اولیه
خروجی مثال را در سیستم خود بررسی کنید و مثال های بیشتری را برای ما ارسال کنید
int main()
{
display();
return 0;
}
void display(char c, int n)
{
{
}
}
خروجی مثال را در سیستم خود بررسی کنید و مثال های بیشتری را برای ما ارسال کنید
// 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;
}
Forwarded from DailyTradePluse
This media is not supported in your browser
VIEW IN TELEGRAM
نسل آینده تکنولوژی؛ کامپیوترهایی که در جیب جا میشوند!
🖥 @It_Universee
🖥 @It_Universee
C++ program آموزش
https://cdn.programiz.com/sites/tutorial2program/files/how-recursion-works-c%2B%2B.jpg
قسمت ۲۱
توابع بازگشتی
فرض کنید نیاز به تابعی دارید که باید بر روی مقدار ورودی ، عملی را تا زمان مشخصی و نه نامحدود ، تکرار کند .
به نظر شما چگونه باید این کار را انجام دهیم
در ساده ترین حالت باید از کد زیر استفاده کنید:
int a,b;
while(true){
b=func(a);
if(b<100)
a=b;
else
break;
}
اما این مورد را می توان با تابع بازگشتی به صورت هوشمند تری باز نویسی کرد
تابع بازگشتی به تابعی گفته می شود که در داخل خود تابع ، تابع مجددا صدا زده می شود و استفاده شده است
مثلا اگر بخواهید فاکتوریل یک عدد کمتز از ۳۰ را محاسبه کنید با استفاده از توابع بازگشتی می توانید از روش زیر استفاده کنید
using namespace std;
int factorial(int);
int main()
{
int n;
return 0;
}
int factorial(int n)
{
{
}
else
{
return 1;
}
}
دقت کنید که در این حالت شرط در داخل خود تابع قرار دارد و با رسیدن مقدار ورودی به عدد ۱ تابع شروع به بازگشت مقدار نهایی خود به فراخوانی های قبلی می کنید و به این ترتیب مقدار های ضرب شده از ۱ تا عدد مورد نظر به سمت اولین فراخوانی ارسال می شوند
در نهایت شما مقدار فاکتوریل عدد مورد نظر را در خروجی تابع در تابع main خواهید داشت
مثال های بیشتر در ادامه ارسال خواهد شد
توابع بازگشتی
فرض کنید نیاز به تابعی دارید که باید بر روی مقدار ورودی ، عملی را تا زمان مشخصی و نه نامحدود ، تکرار کند .
به نظر شما چگونه باید این کار را انجام دهیم
در ساده ترین حالت باید از کد زیر استفاده کنید:
int a,b;
while(true){
b=func(a);
if(b<100)
a=b;
else
break;
}
اما این مورد را می توان با تابع بازگشتی به صورت هوشمند تری باز نویسی کرد
تابع بازگشتی به تابعی گفته می شود که در داخل خود تابع ، تابع مجددا صدا زده می شود و استفاده شده است
مثلا اگر بخواهید فاکتوریل یک عدد کمتز از ۳۰ را محاسبه کنید با استفاده از توابع بازگشتی می توانید از روش زیر استفاده کنید
// Factorial of n = 1*2*3*...*n
#include <iostream>
using namespace std;
int factorial(int);
int main()
{
int n;
cout<<"Enter a number to find factorial: ";
cin >> n;
cout << "Factorial of " << n <<" = " << factorial(n);
return 0;
}
int factorial(int n)
{
if (n > 1)
{
return n*factorial(n-1);
}
else
{
return 1;
}
}
دقت کنید که در این حالت شرط در داخل خود تابع قرار دارد و با رسیدن مقدار ورودی به عدد ۱ تابع شروع به بازگشت مقدار نهایی خود به فراخوانی های قبلی می کنید و به این ترتیب مقدار های ضرب شده از ۱ تا عدد مورد نظر به سمت اولین فراخوانی ارسال می شوند
در نهایت شما مقدار فاکتوریل عدد مورد نظر را در خروجی تابع در تابع main خواهید داشت
مثال های بیشتر در ادامه ارسال خواهد شد
C++ program آموزش
قسمت ۲۱ توابع بازگشتی فرض کنید نیاز به تابعی دارید که باید بر روی مقدار ورودی ، عملی را تا زمان مشخصی و نه نامحدود ، تکرار کند . به نظر شما چگونه باید این کار را انجام دهیم در ساده ترین حالت باید از کد زیر استفاده کنید: int a,b; while(true){ b=func(a);…
#تکمیلی قسمت ۲۱
مثالی از جمع اعداد به صورت نزولی
مثال ۱۰=۱+۲+۳+۴
using namespace std;
int add(int n);
int main()
{
int n;
return 0;
}
int add(int n)
{
return 0;
}
تابع add در مثال بالا ابتدا عدد ورودی کاربر را دریافت می کند و سپس در حالت بازگشتی تا زمانی که به عدد صفر نرسیده است تابع خود را دوباره صدا می زند
و در نهایت مقدار ها به صورت بازگشتی به فراخوانی اولیه خودشان باز می گردند
شکل #بازگشتی این مورد را به صورت نمایه نمایش می دهد
مثالی از جمع اعداد به صورت نزولی
مثال ۱۰=۱+۲+۳+۴
#include<iostream>
using namespace std;
int add(int n);
int main()
{
int n;
cout << "Enter a positive integer: ";
cin >> n;
cout << "Sum = " << add(n);
return 0;
}
int add(int n)
{
if(n != 0)
return n + add(n - 1);
return 0;
}
تابع add در مثال بالا ابتدا عدد ورودی کاربر را دریافت می کند و سپس در حالت بازگشتی تا زمانی که به عدد صفر نرسیده است تابع خود را دوباره صدا می زند
و در نهایت مقدار ها به صورت بازگشتی به فراخوانی اولیه خودشان باز می گردند
شکل #بازگشتی این مورد را به صورت نمایه نمایش می دهد
قسمت ۲۲
#ساختار
تعریف : به مجموعه ای از متغیر ها که دارای #نوع_داده متفاوت می باشند گفته می شود که این مجموعه به وسیله یک نام مشخص می شود که در هنگام ایجاد آن برای آن استفاده می کنیم
عکس #ساختار ، ساختار یک عدد را نشان می دهد که دارای دو قسمت حقیقی و غیر حقیقی می باشد و هر کدام دارای نوع داده متفاوت می باشند
مثال :
فرض کنید می خواهید اطلاعات یک شخص حقیقی را جمع آوری کنید مثلا نام ، سن و حقوق
برای این کار شما نیاز به یک ساختار به نام person دارید این ساختار در ساده ترین حالت می تواند مانند زیر باشد :
struct Person
{
};
به حالت نوشتن یک ساختار دقت کنید
struct به معنی ساختار می باشد
این ساختار را می توانید در تابع main استفاده کنید اما باید به نکاتی زیر دقت کنید
*دقت کنید که ساختار نیز همانند تابع باید قبل از تابع main تعریف شده باشد تا در خود تابع main قابل استفاده باشد *
به کد زیر دقت کنید :
using namespace std;
struct Person
{
char name[50];
int age;
float salary;
};
int main()
{
Person p1;
return 0;
}
همانطور که در کد مشاهده می کنید برای دسترسی به متغیر های داخلی یک ساختار که عضو های ان می باشند
باید از اسمی که برای متغیر با نوع داده ساختار استفاده کردید استفاده کنید
متغیر p1 در کد بالا نوع داده person دارد و دارای عضو های name , age , salary می باشد
برای دسترسی به هر عضو کافیست بعد از نوشتن نام متغیر یک نقظه قرار دهید و سپس نام عضو را بنویسید
دقت کنید که تمامی توابع برای نوع داده رشته char برای p1.name نیز قابل استفاده می باشد
تمامی عضو های ساختار می توانند همانند یک متغیر معمولی دریافت ، مقدار گذاری ، عملیات های ریاضی ، یا حتی نمایش داده شوند
تنها تفاوت با متغیر های معمولی این است که شما ابتدا باید یک ساختار ایجاد کنید تا بتوانید به وسیله نام متغیر به عضو ان دسترسی داده باشید
#ساختار
تعریف : به مجموعه ای از متغیر ها که دارای #نوع_داده متفاوت می باشند گفته می شود که این مجموعه به وسیله یک نام مشخص می شود که در هنگام ایجاد آن برای آن استفاده می کنیم
عکس #ساختار ، ساختار یک عدد را نشان می دهد که دارای دو قسمت حقیقی و غیر حقیقی می باشد و هر کدام دارای نوع داده متفاوت می باشند
مثال :
فرض کنید می خواهید اطلاعات یک شخص حقیقی را جمع آوری کنید مثلا نام ، سن و حقوق
برای این کار شما نیاز به یک ساختار به نام person دارید این ساختار در ساده ترین حالت می تواند مانند زیر باشد :
struct Person
{
char name[50];
int age;
float salary;
};
به حالت نوشتن یک ساختار دقت کنید
struct به معنی ساختار می باشد
این ساختار را می توانید در تابع main استفاده کنید اما باید به نکاتی زیر دقت کنید
*دقت کنید که ساختار نیز همانند تابع باید قبل از تابع main تعریف شده باشد تا در خود تابع main قابل استفاده باشد *
به کد زیر دقت کنید :
#include <iostream>
using namespace std;
struct Person
{
char name[50];
int age;
float salary;
};
int main()
{
Person p1;
cout << "Enter Full name: ";
cin.get(p1.name, 50);
cout << "Enter age: ";
cin >> p1.age;
cout << "Enter salary: ";
cin >> p1.salary;
cout << "\n Information." << endl;
cout << "Name: " << p1.name << endl;
cout <<"Age: " << p1.age << endl;
cout << "Salary: " << p1.salary;
return 0;
}
همانطور که در کد مشاهده می کنید برای دسترسی به متغیر های داخلی یک ساختار که عضو های ان می باشند
باید از اسمی که برای متغیر با نوع داده ساختار استفاده کردید استفاده کنید
متغیر p1 در کد بالا نوع داده person دارد و دارای عضو های name , age , salary می باشد
برای دسترسی به هر عضو کافیست بعد از نوشتن نام متغیر یک نقظه قرار دهید و سپس نام عضو را بنویسید
دقت کنید که تمامی توابع برای نوع داده رشته char برای p1.name نیز قابل استفاده می باشد
تمامی عضو های ساختار می توانند همانند یک متغیر معمولی دریافت ، مقدار گذاری ، عملیات های ریاضی ، یا حتی نمایش داده شوند
تنها تفاوت با متغیر های معمولی این است که شما ابتدا باید یک ساختار ایجاد کنید تا بتوانید به وسیله نام متغیر به عضو ان دسترسی داده باشید
فهرست مطالب کانال
برنامه نویسی سی پلاس پلاس
مقدمات
https://t.me/cpprg/3
انواع متغیر ها و #نوع_داده
https://t.me/cpprg/4
استفاده و نمایش متغیر ها
https://t.me/cpprg/5
تعریف ثابت ها
https://t.me/cpprg/7
عملگر ها
https://t.me/cpprg/10
استاندار های کد نویسی
https://t.me/cpprg/15
*
کاراکتر ها
https://t.me/cpprg/23
۱۰- عبارت های کنترلی while , if , else
https://t.me/cpprg/25
۱۱- ادامه مبحث عبارت های کنترلی while , if , else
https://t.me/cpprg/29
۱۲- عبارت های مقایسه ای
https://t.me/cpprg/31
۱۳- معرفی و ایجاد آرایه
https://t.me/cpprg/38
۱۴- معرفی عبارت کنترلی switch
https://t.me/cpprg/60
۱۵- عبارت کنترلی goto
https://t.me/cpprg/67
۱۶- معرفی تابع و انواع تابع
https://t.me/cpprg/73
۱۷- ایجاد تابع توسط برنامه نویس
https://t.me/cpprg/78
۱۸- انواع تابع
https://t.me/cpprg/92
۱۹- ایجاد overload یک تابع
https://t.me/cpprg/100
۲۰- مقدار اولیه در ورودی تابع
https://t.me/cpprg/105
۲۱- توابع بازگشتی
https://t.me/cpprg/111
۲۲- تعریف ساختار و ایجاد آن
https://t.me/cpprg/117
لطفا با اشتراک فهرست مطالب دیگران را نیز به کانال آموزش رایگان سی پلاس پلاس دعوت کنید
🌺🌸🌼🌷🌹
برنامه نویسی سی پلاس پلاس
مقدمات
https://t.me/cpprg/3
انواع متغیر ها و #نوع_داده
https://t.me/cpprg/4
استفاده و نمایش متغیر ها
https://t.me/cpprg/5
تعریف ثابت ها
https://t.me/cpprg/7
عملگر ها
https://t.me/cpprg/10
استاندار های کد نویسی
https://t.me/cpprg/15
*
کاراکتر ها
https://t.me/cpprg/23
۱۰- عبارت های کنترلی while , if , else
https://t.me/cpprg/25
۱۱- ادامه مبحث عبارت های کنترلی while , if , else
https://t.me/cpprg/29
۱۲- عبارت های مقایسه ای
https://t.me/cpprg/31
۱۳- معرفی و ایجاد آرایه
https://t.me/cpprg/38
۱۴- معرفی عبارت کنترلی switch
https://t.me/cpprg/60
۱۵- عبارت کنترلی goto
https://t.me/cpprg/67
۱۶- معرفی تابع و انواع تابع
https://t.me/cpprg/73
۱۷- ایجاد تابع توسط برنامه نویس
https://t.me/cpprg/78
۱۸- انواع تابع
https://t.me/cpprg/92
۱۹- ایجاد overload یک تابع
https://t.me/cpprg/100
۲۰- مقدار اولیه در ورودی تابع
https://t.me/cpprg/105
۲۱- توابع بازگشتی
https://t.me/cpprg/111
۲۲- تعریف ساختار و ایجاد آن
https://t.me/cpprg/117
لطفا با اشتراک فهرست مطالب دیگران را نیز به کانال آموزش رایگان سی پلاس پلاس دعوت کنید
🌺🌸🌼🌷🌹
Telegram
C++ program آموزش
// my first program in C++
#include <iostream>
using namespace std;
int main ()
{
cout « "Hello World!";
return 0;
}
مثال اول
در این تیکه کد عبارت Hello World! نمایش داده می شود
دقت کنید که این ساختار یک ساختار کلی یک برنامه به زبان سی پلاس پلاس می…
#include <iostream>
using namespace std;
int main ()
{
cout « "Hello World!";
return 0;
}
مثال اول
در این تیکه کد عبارت Hello World! نمایش داده می شود
دقت کنید که این ساختار یک ساختار کلی یک برنامه به زبان سی پلاس پلاس می…
با تشکر از همراهی شما علاقه مندان با کانال آموزش سی پلاس پلاس لطفا درصد رضایت خود را از مطالب و بروزرسانی کانال اعلام فرمایید
anonymous poll
بسیار عالی 80%-100% – 6
👍👍👍👍👍👍👍 67%
عالی 60%-80% – 1
👍 11%
متوسط 50% – 1
👍 11%
ضعیف 10%-40% – 1
👍 11%
👥 9 people voted so far.
anonymous poll
بسیار عالی 80%-100% – 6
👍👍👍👍👍👍👍 67%
عالی 60%-80% – 1
👍 11%
متوسط 50% – 1
👍 11%
ضعیف 10%-40% – 1
👍 11%
👥 9 people voted so far.
قسمت ۲۳
ارسال یک struct به عنوان ورودی تابع
در مبحث #تابع گفته شد که باید در هنگام تعریف تابع در قسمت ورودی تابع مشخص کنید که چه نوع داده ای را میخواهید به تابع ارسال کنید و در نهایت تابع چه نوع داده ای را به خروجی ارسال خواهد کرد
جدا از نوع داده هایی که در خود زبان سی پلاس پلاس تعریف شده اند مانند int , char و void شما می توانید یک نوع داده از جنس ساختار (struct) را به عنوان ورودی تابع قرار دهید
در این صورت شما با ارسال یک نوع داده ساختار می توانید چندین متغیر داخلی آن را که قبلا برای خود ساختار تعریف کرده اید را همزمان ارسال کنید
مثال زیر در تصویر #ارسال_ساختار را بررسی کنید
ارسال یک struct به عنوان ورودی تابع
در مبحث #تابع گفته شد که باید در هنگام تعریف تابع در قسمت ورودی تابع مشخص کنید که چه نوع داده ای را میخواهید به تابع ارسال کنید و در نهایت تابع چه نوع داده ای را به خروجی ارسال خواهد کرد
جدا از نوع داده هایی که در خود زبان سی پلاس پلاس تعریف شده اند مانند int , char و void شما می توانید یک نوع داده از جنس ساختار (struct) را به عنوان ورودی تابع قرار دهید
در این صورت شما با ارسال یک نوع داده ساختار می توانید چندین متغیر داخلی آن را که قبلا برای خود ساختار تعریف کرده اید را همزمان ارسال کنید
مثال زیر در تصویر #ارسال_ساختار را بررسی کنید