الملفات الخارجية
جزء من قسم Object Oriented Programming في رحلة C++ على Coddy — الدرس 1 من 104.
في لغة C++، يتم تقسيم الكود عبر ملفات متعددة ويتم ربطه باستخدام توجيهات #include.
ملف منفصل MyClass.h
#include <string>
class MyClass {
public:
std::string greet() {
return "Hello from MyClass!";
}
};قم بتضمينه واستخدامه في ملفك الرئيسي
#include <iostream>
#include "MyClass.h"
int main() {
MyClass obj;
std::cout << obj.greet() << std::endl;
return 0;
}المخرجات:
Hello from MyClass!استخدم علامات الاقتباس المزدوجة "" لملفاتك الخاصة والأقواس الزاوية <> لترويسات النظام/المكتبة. يقوم التوجيه #include بنسخ محتوى الملف إلى كود المصدر الخاص بك قبل عملية التجميع.
التحدي
سهلقم بتضمين ملف الرأس MyClass.h في main.cpp، وأنشئ كائناً من MyClass، واطبع نتيجة استدعاء greet().
تنسيق الطباعة: Greeting: <result>
ورقة مرجعية
في لغة C++، يتم تقسيم الكود عبر ملفات متعددة ويتم ربطها باستخدام توجيهات #include.
استخدم الأقواس الزاوية <> لترويسات النظام/المكتبات:
#include <iostream>
#include <string>استخدم علامات الاقتباس المزدوجة "" لملفات الترويسة الخاصة بك:
#include "MyClass.h"مثال لملف ترويسة MyClass.h:
#include <string>
class MyClass {
public:
std::string greet() {
return "Hello from MyClass!";
}
};استخدام الترويسة في main.cpp:
#include <iostream>
#include "MyClass.h"
int main() {
MyClass obj;
std::cout << obj.greet() << std::endl;
return 0;
}جرّب بنفسك
#include <iostream>
#include <string>
// TODO: قم بتضمين ملف الترويسة MyClass
int main() {
std::string testCase;
std::getline(std::cin, testCase);
// TODO: قم بإنشاء كائن من MyClass واستدعاء greet()
std::cout << "Test completed" << std::endl;
return 0;
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Object Oriented Programming
1أساسيات الـ OOP
الملفات الخارجيةبناء وتجميع (Compilation) لغة C++ملفات الـ Header وملفات الـ Sourceالـ Namespaces والـ Scopeمقدمة في الـ OOP في C++الـ Classes مقابل الـ Objectsالمؤشر 'this'الـ Methods (الدوال الأعضاء)الـ Attributes (بيانات الأعضاء)أساسيات الـ Ctors والـ Dtorsمراجعة - آلة حاسبة بسيطة4خصائص الـ Class
أعضاء الـ Instance مقابل الـ Staticدوال الـ Getters والـ Settersدوال الأعضاء الثابتة (Const)الكلمة المفتاحية Mutableالدوال والمتغيرات الساكنة (Static)الدوال والفئات الصديقة (Friend)مراجعة - مدير الحساب البنكي7الوراثة
الوراثة الأساسيةمستويات الوصول في الوراثةترتيب استدعاء الـ Ctor والـ Dtorإعادة تعريف الدوال (Method Overriding)الدوال الافتراضية والـ VTableالوراثة المتعددةالوراثة الافتراضيةمراجعة - هيكلية الموظفين10نظرة عامة على STL
نظرة عامة وفلسفة STLحاويات STLالـ Iteratorsخوارزميات STLالـ Functors وتعبيرات Lambdaمراجعة - تكرار الكلمات13أنماط التصميم - الجزء الأول
مقدمة في أنماط التصميمنمط Singletonنمط Factory و Abstract Factoryنمط Builderنمط Observerنمط Strategy2إدارة الذاكرة
ذاكرة Stack مقابل Heapالمؤشرات والمراجعالذاكرة الديناميكية (new/delete)المؤشرات الذكية في C++RAII في C++مراجعة - مدير المصفوفات الديناميكية5التغليف (Encapsulation)
محددات الوصول في C++محددات الوصول بشكل متعمقإخفاء المعلوماتStruct مقابل Classالأصناف المتداخلة والداخليةمراجعة - نظام سجلات الطلاب8تعدد الأشكال (Polymorphism)
تعدد الأشكال: وقت التجميع مقابل وقت التشغيلالتحميل الزائد للدوال (Function Overloading)مراجعة الدوال الافتراضية (Virtual Functions)الدوال الافتراضية البحتة (Pure Virtual Functions)الأصناف المجردة (Abstract Classes)تصميم الواجهات (Interface) في C++التحويل الديناميكي (Dynamic Casting) و RTTIملخص - حاسبة الأشكال11مفاهيم OOP المتقدمة
التركيب مقابل الوراثةالـ Mixins عبر CRTPنمط Pimplمحو النوع (Type Erasure)أصناف Enum والأنواع القويةمعالجة الاستثناءات في OOPتسلسلات الاستثناءات المخصصة14أنماط التصميم - الجزء الثاني
نمط الأمرنمط المحولنمط المزيننمط قالب الطريقةنمط الحالةنمط التركيبRAII كنمط3المنشئات والموادم
المنشئ الافتراضيالمنشئ ذو المعاملاتمنشئ النسخمنشئ النقلقوائم تهيئة المنشئالمنشئات المفوضةتعمق في الموادمقاعدة الثلاثة / الخمسة / الصفرمراجعة - فئة String6تحميل العوامل (Operator Overloading)
مقدمة في تحميل العواملتحميل العوامل الحسابيةتحميل عوامل المقارنةعوامل Streamتحميل عامل التعيينتحميل العوامل [] و ()عوامل تحويل النوعمراجعة - Matrix Class9القوالب
قوالب الدوالقوالب الأصنافتخصيص القوالبالقوالب المتغيرةأساسيات SFINAE و Type Traitsمراجعة - الحاويات العامة