بنام خدا . در این جلسه از سری آموزشهای زبان برنامه نویسی ++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)
//توضیحات یک خطی
/*
توضیحات
چند خطی
*/
تا جلسه بعد در پناه حق...