سنتعلم سويا لغة الـ c++، وأفضل طريقة للبداية وبدون ملل هي عرض هيكل برنامج مبني علي اللغة.
لناخذ هذا المثال التالي علي لغة c++ والذي يطبع للمستخدم رسالة ترحيب بسطية جدا.العلامتان // في أول السطر دليل علي أن هذا تعليق، والتعليقات هي تلك الأسطر التي تكتب بواسطة المبرمج لكنها لا تؤثر علي المسار الذي يتم فيه تنفيذ شفرة الكود. التعليقات يستخدمها المبرمجون فقط لترشدهم إلي بعض الملاحظات في المرات التالية عند فتح البرنامج.ونحن نستخدمها في برنامجنا هذا لتصف لنا أن هذا أول برنامج نقوم بإنشائه بإستخدام لغة C++. نوعية الأوامر هذه التي تبدا بـ # هي عبارة عن مجموعة توجهيات يقوم بتفسيرها الـ preprocessor، والميزة الخاصة بهذه الأوامر أنها يتم ينفيذها قبل بدء أي شئ آخر في البرنامج لانها لها الاولاوية لذلك.
في هذه الحالة، نحن نطلب من المعالج تضمين جزء من لغة C++ وهو iostream. وهو ذلك الجزء المسئول عن أدوات الأدخال والإخراج، كإدخال قيمة إلي البرنامج أو إخراج وطباعة نص مثلا.
السطر الثالث فارغ

هذه السطور لا تؤثر أبدا علي آداء البرنامج في لغة C++ ولا يتم التعامل معها من قبل المترجم، نحن نستخدمها فقط لجعل الشفرة الخاصة بنا تبدو جميلة ومريحة للعين. في دروس متقدمة سنتعرض إلي حذف هذه السطور وكتابة الكثير من الأكواد الخاصة باللغة في سطر واحد.
هذا السطر هو بمثابة البداية الفعلية للكود البرمجي الخاص بلغة C++. والذي يقوم بإنشاء الدالة main، سوف نتعرف لاحقا في دروس متقدمة علي الدوال. ويتم تعريف هذه الدالة بإستخدام int.
هذه الدالة main هي واحدة من الدوال الخاصة جدا في كل برامج لغة C++، حيث عندما نقوم بتشغيل البرنامج run يبدا اولا تنفيذ هذه الدالة وقبل بداية أي شئ.
ملاحظة: لا يهتم المترجم بمكان وجود الدلة main فهو يبدا بتنفذيها قبل أي شي غير مهتما لمكان وجودها.

الاسطر التي بها قوس الفتح والغلق

يشير القوس الأول في السطر رقم 5 إلي بداية جسم ومحتويات الدالة، ويشير القوس الثاني في السطر 7 إلي قفل هذه الدالة. وتستخدم كل الدوال الفكرة نفسها في بدايتها ونهايتها، و ما بداخل هذه الأقواس هي الأوامر المطلوب من الدالة تنفيذها.

السطر السادس
يسمي هذا النوع من بـ Statement، وهي الأوامر التي تخير البرنامج بالظبط ما الذي يجب أن يقوم به، ويتم تنفيذ الأوامر بأسبقية وجود كل أمر قبل الآخر.

وفي هذه الحالة فنحن لدينا عدة أمور لتوضحيها
std cout وهي التي تختص بعرض البيانات علي شاشة المستخدم، والتي تم إستدعائها أصلا من الجزء iostream

العلامتان وهما علامتي الإخراج، واللتان ياخذان ما بعدهما لوضعه في std cout .

النص Hello world وهو ذلك النص الفعلي الذي يظهر أمام المستخدم علي شاشة الحاسب عندما يتم طباعتها.

ملاحظة: إن الجمل Statement لابد وأن تنتهي بالفاصلة المنقوطة Semi Colon وهي تعتبر نهاية هذه الـ statement. كذلك كل الـ statements الخاصة بلغة C++ لابد وان تنتهي بالفاصلة المنقوطة. وهو واحد من الأخطاء الشائعة جدا، حيث ينسي الكثير من المتعلمين الجدد وضع هذه العلامة الصغيرة والتي بدونها لن يتم تنفيذ البرنامج بأكمله للأسف.

ربما لاحظت عدد كبير من السطور التي لا يتم تنفيذها، كسطر التعليق، وسطر إستدعاء الجزء iostream كذلك سطر بداية الدالة main، كل ذلك لمجرد عرض رسالة بسيطة علي شاشة المستخدم تتكون من كلمتين.
لاحظ: أنه لا توجد قاعدة ثابتة لتنظيم وترتيب الشفرة الخاصة بك، لكن يستخدم المبرمجون الطريقة التي كتبنا بها الكود في اول الصفحة ولذلك لتسهيل قراءة هذه الشفرة.
في الدرس القادم سنتعرف أكثر علي طرق تنظيم شفرة الكود، كذلك سنتطرق إلي التعليقات وما هو دورها الفعلي في البرامج الكبيرة.
كما قلنا من قبل أن التعليقات لا توثر علي سلوك البرنامج أو علي تنفيذه. وأننا نستخدم هذه التعليقات فقط لتوضيح شئ ما لنا في المستقبل عن التعامل مع الكود ثانية.


هناك طريقتين تكتب بهم التعليقات في لغة C++، في المثال أخذنا طريقة منهم وهي:
هذه الطريقة لكتابة تعليق في سطر واحد، بمعني أن أي شئ يكتب بعد هاتين العلامتين "//" يكون تعليقا ولا يتم تفسيره.
لكن ماذا لو أردنا كتابة تعليق طويل يتكون من أكثر من سطر؟ في هذه الحالة نستخدم.

وايضا يتم تجاهل كل ما بين العلامتتن "/* */" ولا يتم تفسيره من قبل المترجم.

الآن لو أردنا تضمين ما شرحناه سابقا عن التعليقات في برنامج جديد، وليكن برنامجنا الثاني الذي نخبر فيه المستخدم رسالة جديدة. سيكون كالتالي:

السؤال الآن ماذا لو كتبنا تعليق بدون العلامات "//" و "/**/" ، سيقرا المترجم الخاص بـ C++ هذه التعليقات علي انها رموز وشفرات لغة الـ C++، مما سيؤدي إلي فشل تنفيذ البرنامج ولن يتم عرض الرسائل للمستخدم.

Namespace
ربما لاحظت أننا في كل مرة نطبع فيها رسالة للمستخدم فإننا نكتب std:: قبل cout ، إن الكلمة المحجوزة cout يتم تعريفها داخل مكتبات لغة c++ الأساسية بإستخدام ::std أو ما يعرف بـ Namespace. وفي كل مرة نستخدم فيها أيا من الكلمات المحجوزة هذه فإننا علينا أن نسبقها بـ ::std. لذلك نحن نعلن للبرنامج ككل عن هذه المقدمة، حتي نكتب cout بدون ::std.
لذلك نستخدم:
هذه الكود البسيط يجعلنا نستخدم الكلمات المحجوزة بدون ::std.
بعد إستخدامنا لهذه الـ Namespace سكون شكل البرنامج الخاص بنا كالتالي.
لاحظ: أننا لم نستخدم ::std قبل الكلمة المحجوزة cout هذه المرة.
إن كلا الطريقتين يؤديان نفس الغرض ويسلكان نفس السلوك ويتم تنفيذ البرنامج بنفس الطريقة، لكن لتسهيل الأمور سنتكمل دروسنا القادمة إن شاء بإستخدام الطريقة الآخيرة.

تجدر الإشارة هنا إلي شئ هام، وهو أنه لا وجود لأي قاعدة تحكم الطريقة التي تكتب بها برنامجك.
حيث يمكنك كتابة البرنامج السابق بهذا الشكل.