Mi az a C++ fájl?
A CPP kiterjesztésű fájlok forráskódfájlok a C++ programozási nyelven Ãrt alkalmazásokhoz. Egy C++ projekt több CPP-fájlt is tartalmazhat alkalmazás forráskódjaként. Egy ilyen projekt különbözÅ fájltÃpusokból áll, amelyek közül a CPP-fájlok implementációs fájlokként ismertek, mivel a fejlécfájlban (.h) deklarált metódusok összes definÃcióját tartalmazzák. A C++ projekt egésze egy végrehajtható alkalmazást eredményez, ha teljes egészében fordÃtjuk le.
CPP fájlszerkezet
A CPP-fájl szerkezete egyszerű a fejlécfájlokhoz képest. Egy ilyen implementációs fájl fÅ célja az interfész és a megvalósÃtás szétválasztása. Ez azt eredményezi, hogy a fejlécfájlban található összes tagfüggvény deklarálódik, és a CPP-fájlban azok részletei is megjelennek. A CPP implementációs fájl egyszerű fájlként használható alkalmazás Ãrásához, vagy osztálymegvalósÃtásként.
Független megvalósÃtás
A független alkalmazásként használt CPP-fájl az összes megvalósÃtást tartalmazhatja anélkül, hogy a fejlécfájlban metódus-deklarációra lenne szükség. Egy ilyen megvalósÃtás az implementációs fájlban meghatározott összes metódusból áll, ahol az alkalmazás bejegyzését egy fÅ metódus szabályozza, amely opcionális felhasználói bevitelt vesz argumentumként. Tartalmazhatja a C++ Standard Library bármely könyvtárát is, amelyeket a fájlban deklarált metódusok használhatnak.
/*
* 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";
}
Osztály megvalósÃtás
Az objektumorientált programozásban (OOP) egy CPP-fájlt használnak osztálydefinÃcióként. Ebben az esetben az összes osztályadattag és tagfüggvény deklarálva van a fejlécfájlban. Minden fejlécfájl hivatkozhat a szokásos könyvtári metódusokra is. Az osztálydefinÃciós CPP fájl a fejlécfájlra hivatkozik egy include utasÃtásban a fájl elején. A szoftverfejlesztÅk többnyire megjegyzéseket helyeznek el az ilyen osztálymegvalósÃtási fájl elején, amelyek információt adnak a fájl tényleges tartalmáról, a szerzÅ adatairól és a megvalósÃtás dátumáról. Ilyen esetekben a fejléc-megvalósÃtási fájloknak azonos nevekkel kell rendelkezniük. A következÅ példa egy ilyen fejléc- és implementációs fájlra.
Fejlécfájl
#include <string>
#include <iostream>
using namespace std;
class MyClass {
public:
MyClass(); // Constructor
void add(int i, int j);
private:
std::string name;
};
CPP implementációs fájl
#include "MyClass.h"
MyClass::MyClass(){
...
}
void MyClass::add(int i, int j) {
int result # i + j;
}