ما هو ملف C ++؟
الملفات ذات امتداد الملف CPP هي ملفات التعليمات البرمجية المصدر للتطبيقات المكتوبة بلغة البرمجة C ++. قد يحتوي مشروع C ++ واحد على أكثر من ملف CPP ككود مصدر للتطبيق. يتكون هذا المشروع من أنواع ملفات مختلفة ، تُعرف ملفات CPP منها باسم ملفات التنفيذ لأنها تحتوي على جميع تعريفات الطرق المعلنة في ملف الرأس (.h). ينتج عن مشروع C ++ ككل تطبيق قابل للتنفيذ عند تجميعه ككل.
بنية ملف CPP
بنية ملف CPP بسيطة مقارنة بملفات الرأس. الغرض الرئيسي من ملف التنفيذ هذا هو فصل الواجهة عن التطبيق. ينتج عن هذا إعلانات لجميع وظائف الأعضاء في ملف الرأس وتفاصيلها داخل ملف CPP. يمكن استخدام ملف تنفيذ CPP كملف بسيط لكتابة تطبيق أو كتطبيق فئة.
التنفيذ المستقل
يمكن أن يحتوي ملف CPP عند استخدامه كتطبيق مستقل على جميع عمليات التنفيذ بداخله دون الحاجة إلى إعلان الطرق في ملف الرأس. يتكون هذا التنفيذ من جميع الطرق المحددة في ملف التنفيذ حيث يتم التحكم في إدخال التطبيق من خلال طريقة رئيسية تأخذ مدخلات المستخدم الاختيارية كوسائط. يمكن أن تتضمن أيضًا أي مكتبات من مكتبة C ++ القياسية لاستخدامها بواسطة أي طرق معلن عنها في الملف.
/*
* File: main.cpp
* Author: SomeOne
* Created on November 16, 2018, 4:09 PM
*/
#include <iostream>
using namespace std;
int main()
{
cout<<"About the CPP file format";
cout<<std::endl<<"and its very easy";
}
تطبيق الفصل
في البرمجة الشيئية (OOP) ، يتم استخدام ملف CPP كتعريف للفئة. في مثل هذه الحالة ، يتم التصريح عن جميع أعضاء بيانات الفصل ووظائف الأعضاء داخل ملف الرأس. يمكن أن يكون لكل ملف رأس بدوره إشارة إلى أساليب المكتبة القياسية أيضًا. يشير ملف CPP الخاص بتعريف الفئة إلى ملف الرأس في عبارة include في بداية الملف. في الغالب ، يقوم مطورو البرامج بتضمين التعليقات في بداية ملف تنفيذ الفصل الذي يوفر معلومات حول المحتويات الفعلية للملف وتفاصيل المؤلف وتاريخ التنفيذ. في مثل هذه الحالات ، يجب أن يكون لملفات تنفيذ الرأس نفس الأسماء. مثال على ملف الرأس والتنفيذ هذا على النحو التالي.
الملف الاساسي
#include <string>
#include <iostream>
using namespace std;
class MyClass {
public:
MyClass(); // Constructor
void add(int i, int j);
private:
std::string name;
};
ملف تنفيذ CPP
#include "MyClass.h"
MyClass::MyClass(){
...
}
void MyClass::add(int i, int j) {
int result # i + j;
}