Syntax پایه در یک برنامه C++
یک برنامه C++ را می توان به عنوان مجموعه ای از اشیاء تعریف کرد که از طریق فراخوانی متدهای یکدیگر به هم متصل می شوند. در ادامه به صورت کلی مفهوم کلاس، شیء، متدها و متغیرها را بررسی می کنیم:
- شیء (Object) : اشیاء حالت ها و رفتارهایی دارند. مثلا یک سگ حالت هایی مانند رنگ، نام، نژاد و رفتار هایی مانند پارس کردن، غذا خوردن و غیره را دارد. یک شیء نمونه ای از یک کلاس می باشد.
- کلاس (Class) : یک کلاس حالت ها و رفتارهایی که در یک شیء از نوع آن کلاس پشتیبانی می شود، را تعریف می کند.
- متدها (Methods) : یک متد اساسا یک رفتار است. هر کلاس می تواند متدهای مختلفی داشته باشد. متدها معمولا برای انجام عملیات های مختلف و دستکاری داده های استفاده می شوند.
- متغیرهای نمونه (Instance Variables) : هر شیء یک مجموعه منحصر به فرد از متغیرها را دارد و حالت های یک شیء توسط مقادیری که به این متغیرها اختصاص داده می شود، تعیین می شوند.
ساحتار برنامه C++
اجازه دهید یک کد ساده که عبارت “Hello World” را چاپ می کند را بررسی کنیم.
1 2 3 4 5 6 7 | #include <iostream> using namespace std; // main() is where program execution begins. int main() { cout << "Hello World"; // prints Hello World return 0; } |
بررسی بخش های مختلف کد بالا:
- خط اول یک دستور پیش پردازنده است که هدرهای لازم و یا مفید برنامه را تعریف می کند.
- خط دوم به کامپایلر C++ می گوید که باید از فضای نام std استفاده کند. namespace ها جزء مفاهیم نسبتا جدید در زبان C++ می باشند.
- خط سوم از کد، یک کامنت تک خطی است. کامنت ها توسط کامپایلر نادیده گرفته می شوند.
- در خط چهارم تابع int main() قرار دارد که نقطه شروع برنامه های C++ می باشد.
- خط پنجم با استفاده از دستور cout عبارت “Hello World” را در خروجی چاپ می کند.
- خط ششم برنامه را خاتمه می دهد و مقدار 0 را فرآیندی که برنامه را اجرا کرده است، باز می گرداند.
کامپایل و اجرای برنامه C++
مراحل زیر، نحوه کامپایل و اجرای سورس کد را بررسی می کند:
- نرم افزار Code::Blocks را اجرا کرده و یک پروژه جدید با زبان C++ و نام “Hello World” ایجاد کنید.
- کد بالا را درون فایل cpp کپی کنید.
- از بخش Build منو گزینه Compile and Run را انتخاب کنید تا پروژه کامپایل و اجرا شود.
- حال برنامه شما کامپایل و اجرا می شود (کد بالا عبارت “Hello World” را در صفحه کنسول چاپ می کند).
سمی کالن ها و بلوک ها در C++
سمی کالن در زبان C++ به عنوان پایان دستور محسوب می شود. به این معنی است که هر یک از دستورات باید با یک سمی کالن به پایان برسند. در زیر چند نمونه را مشاهده می کنید:
1 2 3 | x = y; y = y + 1; add(x, y); |
یک بلوک مجموعه از دستورات منطقی می باشد که توسط آکولاد باز و بسته ({}) احاطه شده است. به عنوان مثال:
1 2 3 4 | { cout << "Hello World"; // prints Hello World return 0; } |
در زبان سی پلاس پلاس، پایان خط (End of Line) به عنوان یک ترمیناتور در نظر گرفته نمی شود. به همین دلیل مهم نیست که یک یا چند دستور را در یک خط قرار دهید. مثلا:
1 2 3 | x = y; y = y + 1; add(x, y); |
کد بالا را می توان به صورت زیر نوشت و هیچ فرقی باهم ندارند:
1 | x = y; y = y + 1; add(x, y); |
شناسه ها در C++
شناسه در C++ نامی است که برای تشخیص متغیر، تابع، کلاس، ماژول و یا هر مورد دیگری تعریف و استفاده می شود. یک شناسه می تواند شامل حروف از A تا Z، a تا z، خط زیر (_) و اعداد 0 تا 9 باشد. نام یک شناسه نمی تواند با عدد آغاز شود.
در زبان C++ نمی توان از کاراکتر ویژه مانند @، $، % و غیره در نام شناسه ها استفاده کرد. زبان برنامه نویسی C++ به حروف بزرگ و کوچک حساس است. یعنی شناسه Manpower با manpower متفاوت است.
در زیر چند نمونه از شناسه های قابل قبول را مشاهده می کنید:
1 2 3 | mohd zara abc move_name a_123 myname50 _temp j a23b9 retVal |
کلمات کلیدی 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 |
Trigraph ها در C++
یک trigraph یک دنباله سه حرفی است که یک کاراکار خاص را نشان می دهد. این دنباله همیشه با دو علامت سوال شروع می شود. از trigraph ها در موقعیت های مختلفی استفاده می شود، مثلا زمانی که کیبورد برخی از کاراکترها را نداشته باشد و یا زمانی که ویرایشگرهای متن برخی از کارکترهای خاص را برای استفاده در موقعیتی خاص رزرو کرده باشند.
در زیر لیست trigraph های پر استفاده را مشاهده می کنید:
Trigraph | جایگزین |
??= | # |
??/ | \ |
??’ | ^ |
??( | [ |
??) | ] |
??! | | |
??< | { |
??> | } |
??- | ~ |
فضای خالی در C++
کامپایلر C++ خطی که فقط شامل فضای خالی و یا کامنت باشد را نادیده می گیرد.
در C++ فضای خالی (Whitespace) واژه ای است که برای توصیف فاصله ها، تب ها، خط جدید و کامنت ها استفاده می شود. فضای خالی بخش های مختلف یک دستور را از هم جدا می کند و باعث می شود تا کامپایلر بتواند بخش های مختلف یک دستور مانند شروع و پایان آن را تشخص دهد.
دستور 1
1 | int age; |
در دستور فوق کامپایلر با استفاده از فضایی که بین int و age قرار دارد، این دو را از هم تشخیص می دهد.
دستور 2
1 | fruit = apples + oranges; // Get the total fruit |
در دستور فوق فضای خالی که بین fruit و = وجود دارد الزامی نیست و فقط برای خوانایی بیشتر برنامه، اضافه شده است. فضای خالی بین apple و + نیز همین گونه است.
هیچ نظری ثبت نشده است