Media is too big
VIEW IN TELEGRAM
♨️ آموزش تصویری برنامهنویسی ++C
⭐️ قسمت بیست و دوم - پردازش خطا
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
⭐️ قسمت بیست و دوم - پردازش خطا
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
Media is too big
VIEW IN TELEGRAM
♨️ آموزش تصویری برنامهنویسی ++C
⭐️ قسمت بیست و سوم - الگوهای ++C و کتابخانه استاندارد
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
⭐️ قسمت بیست و سوم - الگوهای ++C و کتابخانه استاندارد
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
Media is too big
VIEW IN TELEGRAM
♨️ آموزش تصویری برنامهنویسی ++C
⭐️ قسمت بیست و چهارم - برنامه نویسی Thread
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
⭐️ قسمت بیست و چهارم - برنامه نویسی Thread
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
Media is too big
VIEW IN TELEGRAM
♨️ آموزش تصویری برنامهنویسی ++C
⭐️ قسمت بیست و پنجم - CGI Common Gateway Interface
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
⭐️ قسمت بیست و پنجم - CGI Common Gateway Interface
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
Media is too big
VIEW IN TELEGRAM
♨️ آموزش تصویری برنامهنویسی ++C
⭐️ قسمت بیست و ششم - Open CV
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
⭐️ قسمت بیست و ششم - Open CV
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
Media is too big
VIEW IN TELEGRAM
♨️ آموزش تصویری برنامهنویسی ++C
⭐️ قسمت بیست و هفتم - برنامه نویسی اندروید
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
⭐️ قسمت بیست و هفتم - برنامه نویسی اندروید
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
Media is too big
VIEW IN TELEGRAM
♨️ آموزش تصویری برنامهنویسی ++C
⭐️ قسمت بیست و هشتم - حل تمرین جلسه اول واسط گرافیکی کاربر Qt
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
⭐️ قسمت بیست و هشتم - حل تمرین جلسه اول واسط گرافیکی کاربر Qt
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
Media is too big
VIEW IN TELEGRAM
♨️ آموزش تصویری برنامهنویسی ++C
⭐️ قسمت بیست و نهم - حل تمرین جلسه دوم واسط گرافیکی کاربر Qt
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
⭐️ قسمت بیست و نهم - حل تمرین جلسه دوم واسط گرافیکی کاربر Qt
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
Media is too big
VIEW IN TELEGRAM
♨️ آموزش تصویری برنامهنویسی ++C
⭐️ قسمت بیست و سیام - حل تمرین جلسه سوم واسط گرافیکی کاربر Qt
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
⭐️ قسمت بیست و سیام - حل تمرین جلسه سوم واسط گرافیکی کاربر Qt
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
Media is too big
VIEW IN TELEGRAM
♨️ آموزش تصویری برنامهنویسی ++C
⭐️ قسمت بیست و سی و یکم - حل تمرین جلسه چهارم واسط گرافیکی کاربر Qt
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
⭐️ قسمت بیست و سی و یکم - حل تمرین جلسه چهارم واسط گرافیکی کاربر Qt
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
Media is too big
VIEW IN TELEGRAM
♨️ آموزش تصویری برنامهنویسی ++C
⭐️ قسمت بیست و سی و دوم - حل تمرین جلسه پنجم، SQL، سیستم ثبت نام ساده (پایانی)
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
⭐️ قسمت بیست و سی و دوم - حل تمرین جلسه پنجم، SQL، سیستم ثبت نام ساده (پایانی)
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
♨️ کتاب آموزش برنامه نویسی ++C
💎 سطح : مقدماتی تا پیشرفته
🔙 مولف: فرشید شیرافکن
🔖 منبع : takbook.com
💥 زبان : فارسی
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
💎 سطح : مقدماتی تا پیشرفته
🔙 مولف: فرشید شیرافکن
🔖 منبع : takbook.com
💥 زبان : فارسی
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
♨️ توضیحاتی در مورد تابع سازنده (constructor) :
برای مقداردهی اولیه به مقادیر کلاس به کار میرود و میتواند ورودی بگیرد یا حتی بدون ورودی باشد.
تابع سازنده مقداری را برنمیگرداند و void هم نیست و حتما باید هم نام با کلاس باشد، همان طور که گفته شد میتواند به دفعات به صورت بدون مقدار، با دریافت مقدار و با دریافت مقدار به صورت پیش فرض تعریف شود.
برنامه به صورت پیش فرض تابع سازنده دارد اما برای اینکه با مقادیر کلاس هنگام تعریف مقدار دهید، باید از تابع سازنده استفاده کنید.
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
برای مقداردهی اولیه به مقادیر کلاس به کار میرود و میتواند ورودی بگیرد یا حتی بدون ورودی باشد.
تابع سازنده مقداری را برنمیگرداند و void هم نیست و حتما باید هم نام با کلاس باشد، همان طور که گفته شد میتواند به دفعات به صورت بدون مقدار، با دریافت مقدار و با دریافت مقدار به صورت پیش فرض تعریف شود.
برنامه به صورت پیش فرض تابع سازنده دارد اما برای اینکه با مقادیر کلاس هنگام تعریف مقدار دهید، باید از تابع سازنده استفاده کنید.
☘ کانالی برای برنامهنویسان
🆔 @WorldCode_Cpp
♨️ توضیحاتی در مورد تابع سازنده کپی (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