ساختار زبان ++C


ناصر نادری 1395/01/22

بنام خدا . در این جلسه از سری آموزشهای زبان برنامه نویسی ++C میخواییم ساختار این زبان رو  کمی مورد بررسی قرار بدیم. 

کدهای ++C معمولا در دو نوع فایل  نوشته میشه. یکی از این فایلها فایل برنامه با پسوند .cpp هست و دیگری فایل سرآیند یا هیدر فایل با پسوند .h هست که برای نگه داری تعاریف، کلاسها و متدهای سراسری و پراستفاده ازش استفاده میشه.  

 فایل های  هیدر به کمک دستور پیش پردازنده include# فراخوانی میشود. 

نکته : در زبان ++C یک قابلیت بسیار خاص و قدرتمند به نام پیش پردازنده وجود دارد. قبل از بلوک اصلی برنامه  میتوان دستوراتی را تحت عنوان دستورات پیش پردازنده  که با علامت #  شروع  میشه نوشت که قبل از اجرای خود برنامه توسط کامپایلر در نظر گرفته میشه. 

دقت کنید که در فایل main.cpp توسط دستور پیش پردازنده include فایل سرآیند iostream فراخوانی شده که در زمان کامپایل به برنامه اصلی الحاق میشه و فایل obj رو ایجاد میکنه حالا تو این بخش کتابخانه استاندارد (مثلا فایلهای dll)به برنامه اصلی لینک میشه و یک برنامه قابل اجرا برای سیستم عامل (در اینجا exe برای ویندوز)  ایجاد میشه.

همانطور که قبلا گفتم  برای اجرای برنامه هاتون نیاز به یک کامپایلر دارید. اگه توسیستمتون برنامه Visual Studio نصب کرده باشید کامپیلر Microsoft نصب و آماده است.  در غیر اینصورت . میتونید یک برنامه توسعه مثل Dev-C++  و یا Code::Block رو نصب کنید و به این شکل کامپایلر MinGW هم نصب میشه . اگر نه هم که باید یکی از کامپایلر ها رو دانلود کنید (مثل همین MinGW) و بعد از نصبش محل نصبش رو توی path ویندوز قرارداده و بصورت خط فرمان فایلاتون تست و اجرا کنید.

مثلا برای اجرای  یک فایل با نام helloworld.cpp میتونیم به صورت زیر در ویندوز عمل کنیم

 g++ helloworld.cpp foo.cpp -o helloworld.exe

البته اینجا قصد نداریم وارد جزیئات نصب  کامپایلر بشیم . چرا که اولا تواینترنت راهنما برای اینکار خیلی زیاده ثانیا مثالهای ما توی محیط توسعه Code::Block یا اگه دلتون خواست توی Dev-C++ خواهد بود.  در این بخش بیشتر تمرکز ما روی خود زبان خواهد بود.

بعد از یک سری اطلاعات راجع به ساختار یک پروژه به این زبان وارد خود زبان میشیم. چند تا فرق اساسی بین ++C و زبانهایی مثل java و #C هست که پایین آوردم.

1- ++C میتونه از طریق اشاره گرها مستقیما حافظه اختصاصی رو مدیریت کنه 

2- یک فایل ++C میتونه فاقد هرنوع کلاسی باشه  در صورتیکه java و #C حداقل یک فایل و یک کلاس برای اجرا میخوان

3- برنامه ++C مستقیما به زبان ماشین کامپایل میشه در صورتیکه جاوا و #C ابتدا به یک زبان میانی کمپایل میشن بعد به زبان ماشین

4- توی ++C باید تقریبا با سیستم عاملی که روش برنامه مینویسین آشنا باشین در صورتیکه در جاوا شما باید با JVM و در C# با .Net آشنایی داشته باشید.

5- با C++ میشه برنامه برای .Net و یا حتی ماشین مجازی جاوا نوشت (Corba)

6- وراثت از چند کلاس توی ++C مجاز ولی توی دوتای دیگه نیست.

مسئله بعدی در باره ساختار یک زبان کلمات رزور شده یا کلیدی هست  . کلمات کلیدی برای منظور های خاصی مثل تعریف متغییرهای اولیه و یا تعیین سطوح دسترسی توابع و کلاسها و متغییر ها و ... استفاده میشه وشما نباید شناسه ای هم نام اونها ایجاد کنید . کلمات کلیدی ++C رو پایین میبینیم.

asm else new this
auto enum operator throw
bool explicit private true
break export protected try
case extern public typedef
catch false register typeid
char float reinterpret_cast typename
class for return union
const friend short unsigned
const_cast goto signed using
continue if sizeof virtual
default inline static void
delete int static_cast volatile
do long struct wchar_t
double mutable switch while
dynamic_cast namespace template  

و در آخر اینکه توضیحات در زبان ++C به دوصورت زیر هست  (مثل جاوا و #C)

 //توضیحات یک خطی 


/*
توضیحات 
چند خطی

*/

تا جلسه بعد در پناه حق...

فایلهای ضمیمه
توجه! هیچ فایل ضمیمه ای برای این مطلب یافت نشد
درباره نویسنده
admin
ناصر نادری
prgnaderi@hotmail.com
فوق لیسانس مهندسی نرافزار- برنامه نویس و مدرس دانشگاه
نظرات شما
نظر جدید