Channel: برنامه نویسی | ++C
♨️ توضیحاتی در مورد تابع سازنده کپی (copy constructor) :
برای اینکه هنگام تعریف کلاس مقادیر یک شی از همان کلاس را در آن کپی کنید از تابع سازنده استفاده میشود.
تابعی هم نام با کلاس، بدون ورودی که هیچ مقداری را بر نمیگرداند و همان طور که گفته شد به صورت پیش فرض توسط خود برنامه فراخوانی میشود.
کامپایلر به صورت پیش فرض تابع سازنده دارد اما هنگامی که از اشارهگرها یا مقادیر پویا (dynamic) استفاده میکنید باید حتما از سازنده کپی استفاده نمایید، چرا که بدون سازنده به جای مقادیر متغیر مورد نظر تنها آدرس آن در اشاره گر جدید کپی می شود یعنی برای یک خانه حافظه دو اشارهگر خواهیم داشت (این اتفاق باعث میشود عملا دسترسی شما به خانه حافظه شی جدید التعریفتان از دسترس خارج شود و تغییرات روی شیای که از آن کپی گرفتهاید اعمال شود)
تفاوت تابع سازنده کپی با عملگر (operator) = در این است که از عملگر = در همه جای برنامه می توان استفاده کرد اما تابع سازنده در زمان تعریف شی فراخوانی می شود.
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
برای اینکه هنگام تعریف کلاس مقادیر یک شی از همان کلاس را در آن کپی کنید از تابع سازنده استفاده میشود.
تابعی هم نام با کلاس، بدون ورودی که هیچ مقداری را بر نمیگرداند و همان طور که گفته شد به صورت پیش فرض توسط خود برنامه فراخوانی میشود.
کامپایلر به صورت پیش فرض تابع سازنده دارد اما هنگامی که از اشارهگرها یا مقادیر پویا (dynamic) استفاده میکنید باید حتما از سازنده کپی استفاده نمایید، چرا که بدون سازنده به جای مقادیر متغیر مورد نظر تنها آدرس آن در اشاره گر جدید کپی می شود یعنی برای یک خانه حافظه دو اشارهگر خواهیم داشت (این اتفاق باعث میشود عملا دسترسی شما به خانه حافظه شی جدید التعریفتان از دسترس خارج شود و تغییرات روی شیای که از آن کپی گرفتهاید اعمال شود)
تفاوت تابع سازنده کپی با عملگر (operator) = در این است که از عملگر = در همه جای برنامه می توان استفاده کرد اما تابع سازنده در زمان تعریف شی فراخوانی می شود.
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
♨️ توضیحاتی در مورد تابع مخرب (destructor) :
هنگامی که کارمان با یک شی تمام میشود، بهتر است خانه حافظههایی که توسط آن در RAM اشغال شده است را آزاد کنیم برای این کار از تابع مخرب استفاده می کنیم.
تابعی است هم نام با کلاس به علاوه علامت (مَد) ~ (در صفحه کلید انگلیسی بالای tab قرار دارد) بدون ورودی که خروجی را برنمیگرداند .
به صورت خودکار در پایان هر بلاک {} فراخوانی میشود. مقادیری که به صورت پویا تعریف شدهاند (یعنی با دستور new) را با دستور delete از حافظه خارج میکنیم، اما سایر مقادیر مانند مقادیر اولیه دیگر نیازی به حذف با delete ندارند.
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
هنگامی که کارمان با یک شی تمام میشود، بهتر است خانه حافظههایی که توسط آن در RAM اشغال شده است را آزاد کنیم برای این کار از تابع مخرب استفاده می کنیم.
تابعی است هم نام با کلاس به علاوه علامت (مَد) ~ (در صفحه کلید انگلیسی بالای tab قرار دارد) بدون ورودی که خروجی را برنمیگرداند .
به صورت خودکار در پایان هر بلاک {} فراخوانی میشود. مقادیری که به صورت پویا تعریف شدهاند (یعنی با دستور new) را با دستور delete از حافظه خارج میکنیم، اما سایر مقادیر مانند مقادیر اولیه دیگر نیازی به حذف با delete ندارند.
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
♨️ مثالی از تابع سازنده، تابع سازنده کپی و مخرب :
#include <iostream>
using namespace std;
class myclass{
int a, b;
int *c; //single
int *d; //array
public:
myclass(const myclass &A) //copy constructor
{
a=A.a;
b=A.b;
c=new int;
*c=A.c[0];
d=new int[5];
for(int i=0;i<5;i++)
d[i]=A.d[i];
}
myclass(int a1,int b1 , int c1,int d0,int d1,int d2,int d3,int d4) //constructor with value
{
a=a1;
b=b1;
c=new int;
*c=c1;
d=new int[5];
d[0]=d0;
d[1]=d1;
d[2]=d2;
d[3]=d3;
d[4]=d4;
}
myclass() //constructor without value
{
a=1;
b=2;
c=new int;
*c=3;
d=new int[5];
d[0]=11;
d[1]=12;
d[2]=13;
d[3]=14;
d[4]=15;
}
~myclass() //destructor
{
delete c;
delete [] d;
cout<<"Destructor"<<endl; //message for show when destructor is run
}
void set(int a1,int b1 , int c1,int d0,int d1,int d2,int d3,int d4)
{
a=a1;
b=b1;
*c=c1;
d[0]=d0;
d[1]=d1;
d[2]=d2;
d[3]=d3;
d[4]=d4;
}
void print()
{
cout<<a<<endl;
cout<<b<<endl;
cout<<*c<<endl;
cout<<d[0]<<endl;
cout<<d[1]<<endl;
cout<<d[2]<<endl;
cout<<d[3]<<endl;
cout<<d[4]<<endl;
cout<<endl; //space
}
};
void Des()
{
myclass D;
}
int _tmain(int argc, _TCHAR* argv[])
{
myclass A(10,20,30,0,1,2,3,4);
myclass B=A;
myclass C;
A.set(100,200,300,5,6,7,8,9);
A.print();
B.print();
C.print();
Des(); //this function just for show destructor running after compiler pass block {}
system("pause");
return 0;
}
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
#include <iostream>
using namespace std;
class myclass{
int a, b;
int *c; //single
int *d; //array
public:
myclass(const myclass &A) //copy constructor
{
a=A.a;
b=A.b;
c=new int;
*c=A.c[0];
d=new int[5];
for(int i=0;i<5;i++)
d[i]=A.d[i];
}
myclass(int a1,int b1 , int c1,int d0,int d1,int d2,int d3,int d4) //constructor with value
{
a=a1;
b=b1;
c=new int;
*c=c1;
d=new int[5];
d[0]=d0;
d[1]=d1;
d[2]=d2;
d[3]=d3;
d[4]=d4;
}
myclass() //constructor without value
{
a=1;
b=2;
c=new int;
*c=3;
d=new int[5];
d[0]=11;
d[1]=12;
d[2]=13;
d[3]=14;
d[4]=15;
}
~myclass() //destructor
{
delete c;
delete [] d;
cout<<"Destructor"<<endl; //message for show when destructor is run
}
void set(int a1,int b1 , int c1,int d0,int d1,int d2,int d3,int d4)
{
a=a1;
b=b1;
*c=c1;
d[0]=d0;
d[1]=d1;
d[2]=d2;
d[3]=d3;
d[4]=d4;
}
void print()
{
cout<<a<<endl;
cout<<b<<endl;
cout<<*c<<endl;
cout<<d[0]<<endl;
cout<<d[1]<<endl;
cout<<d[2]<<endl;
cout<<d[3]<<endl;
cout<<d[4]<<endl;
cout<<endl; //space
}
};
void Des()
{
myclass D;
}
int _tmain(int argc, _TCHAR* argv[])
{
myclass A(10,20,30,0,1,2,3,4);
myclass B=A;
myclass C;
A.set(100,200,300,5,6,7,8,9);
A.print();
B.print();
C.print();
Des(); //this function just for show destructor running after compiler pass block {}
system("pause");
return 0;
}
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
♨️ 35 عادت بد برنامه نویسی که باعث خرابی کد شما میشود
🔘 به عنوان یک برنامه نویس بسیاری از کارهای غلط را نه تنها در حوزه کدزنی بلکه در کارتیمی نیز دیده ام.
35 مورد از این عادتهای برنامه نویسی غلط را در 4 دسته: سازماندهی کد، کار گروهی، نوشتن کد و تست و نگهداری، بررسی میشود. شکستن عادت های بد دشوار است و حتی سخت تر این است که ندانید کدام کار باعث تحلیل کار شما می شود و اگر بدانید و به آن اهمیت ندهید از همه بدتر است. به عنوان یک برنامه نویس بسیاری از کارهای غلط را نه تنها در حوزه کدزنی بلکه در کارتیمی نیز دیده ام. خود من هم بسیاری از این کار های اشتباه را انجام داده ام. در این مقاله من 35 مورد از این عادت های برنامه نویسی غلط را در 4 دسته: سازماندهی کد، کار گروهی، نوشتن کد و تست و نگهداری، بررسی می کنم.
🔹 سازماندهی کد :
🔻 1.گفتن اینکه "بعدا درست می کنم"
🔻 2. پا فشاری روی یک راه حل یک خطی
🔻 3. بهینه سازیهای بیهوده
🔻 و ...
متن کامل مقاله : https://bit.ly/2uHHFRQ
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
➖➖➖➖➖➖➖
#عادت_بد #کدنویسی #کد_نویسی #برنامه_نویسی
+ منبع : تاپ لرن
✅ @WorldCode
🔘 به عنوان یک برنامه نویس بسیاری از کارهای غلط را نه تنها در حوزه کدزنی بلکه در کارتیمی نیز دیده ام.
35 مورد از این عادتهای برنامه نویسی غلط را در 4 دسته: سازماندهی کد، کار گروهی، نوشتن کد و تست و نگهداری، بررسی میشود. شکستن عادت های بد دشوار است و حتی سخت تر این است که ندانید کدام کار باعث تحلیل کار شما می شود و اگر بدانید و به آن اهمیت ندهید از همه بدتر است. به عنوان یک برنامه نویس بسیاری از کارهای غلط را نه تنها در حوزه کدزنی بلکه در کارتیمی نیز دیده ام. خود من هم بسیاری از این کار های اشتباه را انجام داده ام. در این مقاله من 35 مورد از این عادت های برنامه نویسی غلط را در 4 دسته: سازماندهی کد، کار گروهی، نوشتن کد و تست و نگهداری، بررسی می کنم.
🔹 سازماندهی کد :
🔻 1.گفتن اینکه "بعدا درست می کنم"
🔻 2. پا فشاری روی یک راه حل یک خطی
🔻 3. بهینه سازیهای بیهوده
🔻 و ...
متن کامل مقاله : https://bit.ly/2uHHFRQ
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
➖➖➖➖➖➖➖
#عادت_بد #کدنویسی #کد_نویسی #برنامه_نویسی
+ منبع : تاپ لرن
✅ @WorldCode
♨️ 4 تا از بهترین جزوههای ++C
💎 سطح : تمامی سطوح
🔖 منبع : sariasan.com
💥 زبان : فارسی
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
💎 سطح : تمامی سطوح
🔖 منبع : sariasan.com
💥 زبان : فارسی
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
Forwarded from برنامه نویسی | پایتون
ا 💠 Programming و Coding دو اصطلاح که معمولا به جای یکدیگر استفاده میشوند
برنامه نویسی چیست و چه تفاوتی با کدنویسی دارد؟
🔘 برنامه نویسی و کدنویسی یکسان هستند. در سادهترين شکل ممکن برنامه نویسی را میتوان هنر آموزش به یک کامپیوتر برای نحوه انجام وظایفی مشخص توصیف کرد.
این وظایف میتواند به سادگی اضافه کردن دو عدد با یکدیگر و یا به پیچیدگی ترسیم مسیر پرتاب موشک یک فضاپیما باشد.
اما همه آنها توسط یک برنامه نویس که به یک کامپیوتر آموزش میدهد که چگونه کار را انجام دهد آغاز میشود.
برنامه نویسان گاهی اوقات از کدنویسی برای بیان صریح عمل نوشتن کدهای کامپیوتری در مقابل سایر وظایف برنامه نویسی مثل برنامه ریزی، اشکال زدایی و غیره استفاده میکنند.
📌 مقایسه برنامه نویسی و کدنویسی : https://bit.ly/2TwmBHq
➖➖➖➖➖➖
#برنامه_نویسی #Programming #کدنویسی #کد_نویسی #Coding
+ منبع : ماهنامه شبکه
✅ @WorldCode
🐍 @Pythoni_Developers
برنامه نویسی چیست و چه تفاوتی با کدنویسی دارد؟
🔘 برنامه نویسی و کدنویسی یکسان هستند. در سادهترين شکل ممکن برنامه نویسی را میتوان هنر آموزش به یک کامپیوتر برای نحوه انجام وظایفی مشخص توصیف کرد.
این وظایف میتواند به سادگی اضافه کردن دو عدد با یکدیگر و یا به پیچیدگی ترسیم مسیر پرتاب موشک یک فضاپیما باشد.
اما همه آنها توسط یک برنامه نویس که به یک کامپیوتر آموزش میدهد که چگونه کار را انجام دهد آغاز میشود.
برنامه نویسان گاهی اوقات از کدنویسی برای بیان صریح عمل نوشتن کدهای کامپیوتری در مقابل سایر وظایف برنامه نویسی مثل برنامه ریزی، اشکال زدایی و غیره استفاده میکنند.
📌 مقایسه برنامه نویسی و کدنویسی : https://bit.ly/2TwmBHq
➖➖➖➖➖➖
#برنامه_نویسی #Programming #کدنویسی #کد_نویسی #Coding
+ منبع : ماهنامه شبکه
✅ @WorldCode
🐍 @Pythoni_Developers
♨️ نام کتاب : C++ Primer
💎 نویسنده : Stanley B. Lippman, Josée Lajoie, Barbara E. Moo
🔙 زبان : انگلیسی
🔖 ویرایش : پنجم
💥 تعداد برگ : 1399
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
💎 نویسنده : Stanley B. Lippman, Josée Lajoie, Barbara E. Moo
🔙 زبان : انگلیسی
🔖 ویرایش : پنجم
💥 تعداد برگ : 1399
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
♨️ کدام زبان برنامه نویسی برای شما مناسب است؟
+ منبع : زومیت
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
+ منبع : زومیت
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
💠 10 راه مناسب خودآموزی برنامه نویسی
🔹 خودآموزی برنامه نویسی
🔻 1- سورس کدها
🔻 2- معلم بگیر یا معلم کسی باش!
🔻 3- بازی های انلاین برنامه نویسی
🔻 4- کتاب های اینترنتی رایگان
🔻 5- دوره های برنامه نویسی و همایش ها
🔻 6- سایت های آموزش انلاین
🔻 7- تمرین با برنامه های کودک
🔻 8- صبور باشید و دست از کار نکشید
🔻 9- انتخاب زبان درست برنامه نویسی
🔻 10 – دلیل خود را برای برنامه نویسی پیدا کنید
📌 10 راه مناسب : https://bit.ly/2Un1zLW
➖➖➖➖➖➖
+ منبع : teach-programming.ir
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
🔹 خودآموزی برنامه نویسی
🔻 1- سورس کدها
🔻 2- معلم بگیر یا معلم کسی باش!
🔻 3- بازی های انلاین برنامه نویسی
🔻 4- کتاب های اینترنتی رایگان
🔻 5- دوره های برنامه نویسی و همایش ها
🔻 6- سایت های آموزش انلاین
🔻 7- تمرین با برنامه های کودک
🔻 8- صبور باشید و دست از کار نکشید
🔻 9- انتخاب زبان درست برنامه نویسی
🔻 10 – دلیل خود را برای برنامه نویسی پیدا کنید
📌 10 راه مناسب : https://bit.ly/2Un1zLW
➖➖➖➖➖➖
+ منبع : teach-programming.ir
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
Forwarded from هماهنگی شبکه - برنامه
🔻 چند کانال #پیشنهادی ما :
[ @WorldCode ]
[ @Media_Web ]
[ @Pythoni_Developers ]
[ @WorldCode_Cpp ]
[ @UpdatesIT ]
[ @NetworksIT1 ]
[ @BUilD_APK ]
[ @WorldCodeLists ]
[ @WorldCode1 ]
[ @Vippackager ]
🧐 ضرر یعنی چی؟ یعنی از دست دادن کانالهای بالا 👆
[ @WorldCode ]
[ @Media_Web ]
[ @Pythoni_Developers ]
[ @WorldCode_Cpp ]
[ @UpdatesIT ]
[ @NetworksIT1 ]
[ @BUilD_APK ]
[ @WorldCodeLists ]
[ @WorldCode1 ]
[ @Vippackager ]
🧐 ضرر یعنی چی؟ یعنی از دست دادن کانالهای بالا 👆
♨️ کتاب کدنویسی امن در ++C به فارسی
💎 سطح : مبتدی تا پیشرفته
✏️ نویسنده : انتشارات ماهر
🔖 منبع : آغازه
💥 زبان : فارسی
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
💎 سطح : مبتدی تا پیشرفته
✏️ نویسنده : انتشارات ماهر
🔖 منبع : آغازه
💥 زبان : فارسی
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
♨️ کتاب کدنویسی استاندارد
✏️ نویسنده : بهمن عرب رضایی
🔚 تعداد صفحات : 32 صفحه
🔖 منبع : کتاب سبز
💎 فرمت: PDF
💥 زبان: فارسی
☘ کانالی برای برنامهنویسان
✅ @WorldCode
🆔 @WorldCode_Cpp
✏️ نویسنده : بهمن عرب رضایی
🔚 تعداد صفحات : 32 صفحه
🔖 منبع : کتاب سبز
💎 فرمت: PDF
💥 زبان: فارسی
☘ کانالی برای برنامهنویسان
✅ @WorldCode
🆔 @WorldCode_Cpp
♨️ ساختار برنامههای نوشته شده تحت ++C - برنامهنویسی در C و ++C ( ☝️ )
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
HTML Embed Code: