Joined: 27 Nov 2004 Posts: 1232 Location: www.parsx.com
Posted: Mon Jan 16, 2006 10:43 pm Post subject:
اول باید گفت چرا ++C به وجود اومد
بعد از ساخت زبان قوی C خیلی از برنامه نویس ها به برنامه نویس با اون عادت کردن
از طرفی برنامه نویس ها دیدن که دیگه برنامه ها جواب گوی نیازهای اون ها نیست . برای این که این شکاف بین برنامه نویسی و دنیای خارج از بین بره برنامه نویسی شی گرا متولد شد
برنامه نویسی شی گرا چیز خارق العاده ای نیست ، فقط کاری که انجام شده اینه که کم کم همه چی کلاس بندی شد و برای این که تغییر اندازه یک متغییر باعث تغییر تمامی برنامه نشه هر پروسیجری به همراه متغییر هاش در داخل یک کلاس قرار گرفتند.
این تفکر از اونجا به وجود اومد که دبدن تو هر کامپیوتر نوع تعریف داده ها با هم متفاوته و این باعث به هم ریختن کل برنامه می شد ( نوع کامل تر شده این تفکر می تونید در ساخت برنامه های NET. به خوبی مشاهده کنید که سعی کره تقریبا هر برنامه ای بروی هر ماشینی اجرا بشه البته اگه NET Frame Work. مخصوص اون OS بروی سیستم نصب شده باشه )
در فرم کلی C و ++C با هم تفاوت چندانی ندارن بجز دو فصل پایانی ( شی گرایی و وراثت ) که در ++C اضافه شده
در ضمن ++C از تمامی توابع موجود در C پشتی بانی می کنه فقط هدر مربوطه باید فراخوانی بشه البته برای دستورات معمولی که برای خود ++C هستند مثل cout باید هدر iostream.h رو شامل کرد
دو فصل پایانی در قسمت جداگانه ای توضیح داده می شه .
در مورد توابع که در ++C اضافه شدن می شه این ها رو نام برد :
1) cout : این تابع برای نوشتن مقادیر مانند مقدار متغییرها و یا یک رشته ثابت در خروجی کاربرد دارد
برای مثال :
cout<<"The value of a is :"<<a;
نکته :
برای cout علامت >> برای cin از << استفاده می شه
برای حفظ کردنش کافیه یادتون باشه cout مقادیر رو به خروجی می بره پس" " >> cout
و cin مقادیر رو درون متغییر می ریزد پس cin >>a
در دستور بالا اول رشته : The value of a is چاپ می شه سپس مقدار متغییر a در خروجی چاپ می شه
مثلا خروجی مثل شکل زیر می شه
The value of a is :11
نکته :
در توابع cout و cin دیگر نمی توان مانند printf و scanf یک کارکتر را در یک مقدار صحیح ریخت برای همین دیگر از ذکر نوع ورودی و یا نوع خروجی خود داری می شود و فقط نام متغییر ها ذکر می شود
نکته :
تابع cin فقط برای ورودی و تابع cout فقط برای خروجی می باشند و نمی توان با cin عبارتی را به چاپ رساند.
مثال برای تابع cin :
int a;
cout<<"Enter a number :";
cin >>a;
دو تابع دیگر که در ++C استفاده می شود new و delete می باشد که برای کار با متغییر های پویا می باشند ( متغییر های که در لحظه اجرای برنامه فضای مورد نیاز خود را از Heap برداشت می کنند )
برای این توابع نیز نوع در نظر گرفته نمی شود و این توابع نیز مقدار اشاره گری از نوع متغییر باز می گرداننند
<pointer_to_name> = new <name> [ <name_initializer> ];
برای مثال :
int *intptr; // name is any non-function type
...
if (!(intptr = new int)) {
cout<<"Insufficient memory for int";
exit (1);
}
// Use *nameptr to initialize new int object
برای تابع delete فقط کافیست نام متغییر جلوی نام تابع بنویسید سپس متغییر حذف می گردد
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum