🔴 بنية برنامج C++ ؟
مخرجات البرنامج بعد التنفيذ :
🟣 أهم المجالات و تطبيقات التي تستخدم في البرمجة بلغة C++
✔ أنظمة التشغيل: تم تطوير أنظمة التشغيل Windows وMac OS وLinux جميعها بلغة C++. تعد لغة C++ العمود الفقري للعديد من أنظمة التشغيل لأنها سريعة وموثوقة وفعالة.
✔ قواعد البيانات: تم برمجة Postgres وMySQL بلغة C++ وC. وتعد قواعد البيانات هذه من أكثر قواعد البيانات استخدامًا في جميع أنحاء العالم.
✔ أنظمة التخزين السحابي: يتم استخدام لغة C++ لتطوير أنظمة التخزين السحابي لأنها قريبة جدًا من الهاردوير ومتوافقة مع العديد من الأجهزة.
✔ مكتبات البرمجة: يتم استخدام لغة C++ لتطوير العديد من المكتبات عالية المستوى مثل TensorFlow بسبب سرعتها العالية.
✔ المتصفحات: المحرك النابض للعديد من المتصفحات مكتوب بلغة C++ بسبب سرعته وزمن الوصول المنخفض.
🟣 البرمجة الكائنية التوجه OOP
البرمجة الموجهة للكائنات هي عبارة عن طريقة للبرمجة التي تسمح لنا بإنشاء كلاسات وكائنات من خلال وضع التعليمات البرمجية الخاصة بنا.
من هذا فكان السبب الرئيسي وراء إنشاء C++ لتغطية النقص في لغة C التي كانت لا تقدم البرمجة الكائنية التوجه.
🔷️ المفاهيم الأربعة الرئيسية للبرمجة الكائنية المستخدمة في لغة C++ هي:
• الوراثة
• تعدد الأشكال
• التجريد
• التغليف
🔴 المكتبات القياسية في لغة C++
تتكون المكتبات القياسية من:
☆ المكتبة الأساسية - تتضمن المتغيرات وأنواع البيانات وما إلى ذلك.
☆ المكتبة القياسية - تتضمن الوظائف ومعالجة السلاسل والملفات وما إلى ذلك.
☆ مكتبة القوالب القياسية (STL) - تتضمن الكلاسات والدوال لمعالجة هياكل البيانات.
🔵 أهم إستخدامات لغة C++
✔ تطبيقات Client-Server
✔ تطوير تطبيقات Windows
✔ السوفتويرات المدمجة
✔ تعريفات التثبيت للبرامج
🔸️ المتطلبات الأساسية للبدء في البرمجة بلغة C++
الشرط الوحيد لتعلم لغة C++ هو الوظائف الأساسية لبرامج الكمبيوتر.
💠 نصائح هامة للمبتدئين
اذا قمت بإتباع هذه الدروس التعليمية لـ C++، سوف تكتسب فهمًا قويًا للغة وستكون قادرًا على التقدم إلى موضوعات أكثر تقدمًا.
هذه الدروس التعليمية مخصصة لمبرمجي البرامج الذين يرغبون في تعلم لغة البرمجة C++ من البداية.
💖 تفاااعل أكثر ننشر أكثر يا شبااااب 💖
تابع أيضاً :
المكتبة العامة | برمجة و تطوير | الفريق العربي للبرمجة | كانفا برو
#برمجة #سي_بلس_بلس
#include <iostream>
using namespace std;
int main() {
cout << "مرحبا في قناتنا برمجة و تطوير";
return 0;
}
مخرجات البرنامج بعد التنفيذ :
مرحبا في قناتنا برمجة و تطوير
🟣 أهم المجالات و تطبيقات التي تستخدم في البرمجة بلغة C++
✔ أنظمة التشغيل: تم تطوير أنظمة التشغيل Windows وMac OS وLinux جميعها بلغة C++. تعد لغة C++ العمود الفقري للعديد من أنظمة التشغيل لأنها سريعة وموثوقة وفعالة.
✔ قواعد البيانات: تم برمجة Postgres وMySQL بلغة C++ وC. وتعد قواعد البيانات هذه من أكثر قواعد البيانات استخدامًا في جميع أنحاء العالم.
✔ أنظمة التخزين السحابي: يتم استخدام لغة C++ لتطوير أنظمة التخزين السحابي لأنها قريبة جدًا من الهاردوير ومتوافقة مع العديد من الأجهزة.
✔ مكتبات البرمجة: يتم استخدام لغة C++ لتطوير العديد من المكتبات عالية المستوى مثل TensorFlow بسبب سرعتها العالية.
✔ المتصفحات: المحرك النابض للعديد من المتصفحات مكتوب بلغة C++ بسبب سرعته وزمن الوصول المنخفض.
🟣 البرمجة الكائنية التوجه OOP
البرمجة الموجهة للكائنات هي عبارة عن طريقة للبرمجة التي تسمح لنا بإنشاء كلاسات وكائنات من خلال وضع التعليمات البرمجية الخاصة بنا.
من هذا فكان السبب الرئيسي وراء إنشاء C++ لتغطية النقص في لغة C التي كانت لا تقدم البرمجة الكائنية التوجه.
🔷️ المفاهيم الأربعة الرئيسية للبرمجة الكائنية المستخدمة في لغة C++ هي:
• الوراثة
• تعدد الأشكال
• التجريد
• التغليف
🔴 المكتبات القياسية في لغة C++
تتكون المكتبات القياسية من:
☆ المكتبة الأساسية - تتضمن المتغيرات وأنواع البيانات وما إلى ذلك.
☆ المكتبة القياسية - تتضمن الوظائف ومعالجة السلاسل والملفات وما إلى ذلك.
☆ مكتبة القوالب القياسية (STL) - تتضمن الكلاسات والدوال لمعالجة هياكل البيانات.
🔵 أهم إستخدامات لغة C++
✔ تطبيقات Client-Server
✔ تطوير تطبيقات Windows
✔ السوفتويرات المدمجة
✔ تعريفات التثبيت للبرامج
🔸️ المتطلبات الأساسية للبدء في البرمجة بلغة C++
الشرط الوحيد لتعلم لغة C++ هو الوظائف الأساسية لبرامج الكمبيوتر.
💠 نصائح هامة للمبتدئين
اذا قمت بإتباع هذه الدروس التعليمية لـ C++، سوف تكتسب فهمًا قويًا للغة وستكون قادرًا على التقدم إلى موضوعات أكثر تقدمًا.
هذه الدروس التعليمية مخصصة لمبرمجي البرامج الذين يرغبون في تعلم لغة البرمجة C++ من البداية.
💖 تفاااعل أكثر ننشر أكثر يا شبااااب 💖
تابع أيضاً :
المكتبة العامة | برمجة و تطوير | الفريق العربي للبرمجة | كانفا برو
#برمجة #سي_بلس_بلس
🔸️ دعنا نأخذ مثالا لفهم أهمية الواجهات.
مخرجات البرنامج:
في المثال أعلاه، قمنا بإنشاء كلاس مجرد يسمى الشكل Shape .نظرًا لاختلاف صيغ حساب حجم المكعب والكرة، فقد أنشأنا دالة افتراضية تسمى findVolume() في كلاس الشكل.ثم استخدمنا هذه الدالة الافتراضية في الكلاسات المشتقة (الكرة والمكعب) لحساب أحجام الأشكال المعنية. ساعدتا كلاس الواجهة الذي أنشأناه على تجنب تكرار التعليمات البرمجية وتوفير وقتنا أيضًا.
🧩 القواعد المتعلقة بالواجهات:
يجب أن نحتفظ بقواعد معينة في أذهاننا أثناء العمل مع الواجهات في لغة C++ :
▪️لا يمكن تعريف دالة افتراضية ، بل يمكن الإعلان عنها فقط.
▪️يمكننا فقط تخصيص القيمة 0 لدالة افتراضية.
▪️يعمل الكلاس المشتق ككلاس مجرد إذا لم تتمكن من تنفيذ الدالة الافتراضية للكلاس الأساسي.
▪️ لا يمكننا إنشاء كائن من كلاس مجرد.
▪️يمكننا إنشاء مؤشر لكلاس مشتق بمرجع لكلاس الأساسي(المجرد).
📋 الخصائص و المِيزات في لغة C++
بالمقارنة مع لغة C، فإن لغة C++ قدمت العديد من الميزات الجديدة في اللغة.
سنشرح بعض الخصائص و الميزات المهمة لـ C++:
✅ بسيطة: أحد الأسباب التي تجعل C++ هي لغة البرمجة الأولى للعديد من المبرمجين هو أن C++ بسيطة وسهلة التعلم. على الرغم من أنها صديقة للمبتدئين، إلا أنها تستخدم على نطاق واسع لإنشاء العديد من البرامج المتقدمة.
✅ كائنية التوجه: C++ هي لغة برمجة كائنية التوجه ،حيث الكائنات تجعل تطوير البرامج وصيانتها أمرًا سهلاً. بمساعدة هذه الكائنات، يمكننا إجراء تجريد البيانات، وتغليف البيانات، والوراثة، وتعدد الأشكال، وإخفاء البيانات.
✅ حجز الذاكرة الديناميكية: تدعم C++ حجز الذاكرة الديناميكية. بمساعدة المؤشرات في لغة C++، يمكننا حجز الذاكرة ديناميكيًا.
✅ المؤشرات: المؤشر هو متغير يقوم بتخزين عنوان متغير آخر. تدعم C++ إستخدام المؤشرات. بحيث يتم استخدامها للتفاعل مع موقع الذاكرة لأي متغير.
✅ مكتبة واسعة: تقدم C++ مكتبة واسعة مليئة بالدوال المضمنة التي تسهل على المبرمج البرمجة. يمكن الوصول إلى دوال هذه المكتبة المكتبة باستخدام ملفات رأس مختلفة في C++.
✅ تعتمد على compiler: على عكس اللغات الأخرى مثل Python وJava التي تعتمد على في الأساس على interpreter ، فإن C++ هي لغة تعتمد على compiler. وبالتالي، فإن C++ أسرع بكثير من Python أو Java.
✅ التحميل الزائد للعوامل : تدعم C++ التحميل الزائد للعوامل. وهذا يعني أن لغة C++ يمكنها التعامل مع العوامل و توفر أنواع بيانات جديدة خاصة. كما توفر للمبرمجين خيارًا لإنشاء تعريفات جديدة للعوامل في C++.
✅ حساسة لحالة الأحرف: تمامًا مثل C، فإن C++ حساسة لحالة الأحرف. هذا يعني أن لغة C++ تتعامل مع الأحرف الصغيرة والأحرف الكبيرة بشكل مختلف.
✅ لغة برمجة عالية المستوى: على عكس لغة C، وهي لغة برمجة متوسطة المستوى، فإن لغة C++ هي لغة عالية المستوى. أي أنه يسهل على المبرمج العمل بلغة C++ حيث يمكننا ربطها بشكل وثيق باللغة الإنجليزية.
✅ معالجة الاستثناءات: تدعم C++ معالجة الاستثناءات. بحيث تساعد المبرمج على اكتشاف الخطأ (الأخطاء) في حالة ظهور خطأ في البرنامج.
✅ قابلة للنقل : يمكننا تنفيذ برامج C++ على أجهزة مختلفة مع تغيير طفيف أو بدون تغيير في الأسطر البرمجية. لكن لغة C++ ليست مستقلة عن النظام الأساسي. لنفترض أننا قمنا بتجميع برنامج في نظام التشغيل Windows. في هذه الحالة، لن يعمل هذا الملف المترجم (ملف .exe) في نظام التشغيل Mac. لكن ملف .cpp الذي تم إنشاؤه في Windows سيعمل بشكل عادي على نظام التشغيل Mac.
#include <iostream>
using namespace std;
// Interface class
class Shape {
public:
float dimension = 10;
// pure virtual function
virtual float findVolume() = 0;
};
// Derived class 1
class Sphere: public Shape {
public:
float findVolume() {
float volume = 4.0 * 3.14 * dimension * dimension * dimension / 3.0;
return volume;
}
};
// Derived class 2
class Cube: public Shape {
public:
float findVolume() {
float volume = dimension * dimension * dimension;
return volume;
}
};
int main() {
Sphere s1;
Cube c1;
cout << "The volume of sphere of radius 10 is: " << s1.findVolume() << endl;
cout << "The volume of cube of side length 10 is: " << c1.findVolume() << endl;
return 0;
}
مخرجات البرنامج:
The volume of sphere of radius 10 is: 4186.67
The volume of cube of side length 10 is: 1000
في المثال أعلاه، قمنا بإنشاء كلاس مجرد يسمى الشكل Shape .نظرًا لاختلاف صيغ حساب حجم المكعب والكرة، فقد أنشأنا دالة افتراضية تسمى findVolume() في كلاس الشكل.ثم استخدمنا هذه الدالة الافتراضية في الكلاسات المشتقة (الكرة والمكعب) لحساب أحجام الأشكال المعنية. ساعدتا كلاس الواجهة الذي أنشأناه على تجنب تكرار التعليمات البرمجية وتوفير وقتنا أيضًا.
🧩 القواعد المتعلقة بالواجهات:
يجب أن نحتفظ بقواعد معينة في أذهاننا أثناء العمل مع الواجهات في لغة C++ :
▪️لا يمكن تعريف دالة افتراضية ، بل يمكن الإعلان عنها فقط.
▪️يمكننا فقط تخصيص القيمة 0 لدالة افتراضية.
▪️يعمل الكلاس المشتق ككلاس مجرد إذا لم تتمكن من تنفيذ الدالة الافتراضية للكلاس الأساسي.
▪️ لا يمكننا إنشاء كائن من كلاس مجرد.
▪️يمكننا إنشاء مؤشر لكلاس مشتق بمرجع لكلاس الأساسي(المجرد).
📋 الخصائص و المِيزات في لغة C++
بالمقارنة مع لغة C، فإن لغة C++ قدمت العديد من الميزات الجديدة في اللغة.
سنشرح بعض الخصائص و الميزات المهمة لـ C++:
✅ بسيطة: أحد الأسباب التي تجعل C++ هي لغة البرمجة الأولى للعديد من المبرمجين هو أن C++ بسيطة وسهلة التعلم. على الرغم من أنها صديقة للمبتدئين، إلا أنها تستخدم على نطاق واسع لإنشاء العديد من البرامج المتقدمة.
✅ كائنية التوجه: C++ هي لغة برمجة كائنية التوجه ،حيث الكائنات تجعل تطوير البرامج وصيانتها أمرًا سهلاً. بمساعدة هذه الكائنات، يمكننا إجراء تجريد البيانات، وتغليف البيانات، والوراثة، وتعدد الأشكال، وإخفاء البيانات.
✅ حجز الذاكرة الديناميكية: تدعم C++ حجز الذاكرة الديناميكية. بمساعدة المؤشرات في لغة C++، يمكننا حجز الذاكرة ديناميكيًا.
✅ المؤشرات: المؤشر هو متغير يقوم بتخزين عنوان متغير آخر. تدعم C++ إستخدام المؤشرات. بحيث يتم استخدامها للتفاعل مع موقع الذاكرة لأي متغير.
✅ مكتبة واسعة: تقدم C++ مكتبة واسعة مليئة بالدوال المضمنة التي تسهل على المبرمج البرمجة. يمكن الوصول إلى دوال هذه المكتبة المكتبة باستخدام ملفات رأس مختلفة في C++.
✅ تعتمد على compiler: على عكس اللغات الأخرى مثل Python وJava التي تعتمد على في الأساس على interpreter ، فإن C++ هي لغة تعتمد على compiler. وبالتالي، فإن C++ أسرع بكثير من Python أو Java.
✅ التحميل الزائد للعوامل : تدعم C++ التحميل الزائد للعوامل. وهذا يعني أن لغة C++ يمكنها التعامل مع العوامل و توفر أنواع بيانات جديدة خاصة. كما توفر للمبرمجين خيارًا لإنشاء تعريفات جديدة للعوامل في C++.
✅ حساسة لحالة الأحرف: تمامًا مثل C، فإن C++ حساسة لحالة الأحرف. هذا يعني أن لغة C++ تتعامل مع الأحرف الصغيرة والأحرف الكبيرة بشكل مختلف.
✅ لغة برمجة عالية المستوى: على عكس لغة C، وهي لغة برمجة متوسطة المستوى، فإن لغة C++ هي لغة عالية المستوى. أي أنه يسهل على المبرمج العمل بلغة C++ حيث يمكننا ربطها بشكل وثيق باللغة الإنجليزية.
✅ معالجة الاستثناءات: تدعم C++ معالجة الاستثناءات. بحيث تساعد المبرمج على اكتشاف الخطأ (الأخطاء) في حالة ظهور خطأ في البرنامج.
✅ قابلة للنقل : يمكننا تنفيذ برامج C++ على أجهزة مختلفة مع تغيير طفيف أو بدون تغيير في الأسطر البرمجية. لكن لغة C++ ليست مستقلة عن النظام الأساسي. لنفترض أننا قمنا بتجميع برنامج في نظام التشغيل Windows. في هذه الحالة، لن يعمل هذا الملف المترجم (ملف .exe) في نظام التشغيل Mac. لكن ملف .cpp الذي تم إنشاؤه في Windows سيعمل بشكل عادي على نظام التشغيل Mac.
👍1