Co je soubor C++?
Soubory s pÅÃponou CPP jsou soubory zdrojového kódu pro aplikace napsané v programovacÃm jazyce C++. Jeden projekt C++ může obsahovat vÃce než jeden soubor CPP jako zdrojový kód aplikace. Takový projekt se skládá z různých typů souborů, z nichž soubory CPP jsou známé jako implementaÄnà soubory, protože obsahujà vÅ¡echny definice metod deklarovaných v souboru záhlavà (.h). Výsledkem projektu C++ jako celku je spustitelná aplikace, když je zkompilován jako celek.
Struktura souboru CPP
Struktura souboru CPP je ve srovnánà se soubory záhlavà jednoduchá. HlavnÃm úÄelem takového implementaÄnÃho souboru je oddÄlit rozhranà od implementace. Výsledkem jsou deklarace vÅ¡ech Älenských funkcà v záhlavà souboru a jejich podrobnosti v souboru CPP. ImplementaÄnà soubor CPP lze použÃt jako jednoduchý soubor pro psanà aplikace nebo jako implementaci tÅÃdy.
Nezávislá implementace
Soubor CPP, pokud je použit jako nezávislá aplikace, může obsahovat vÅ¡echny implementace v nÄm bez požadavku na deklaraci metod v záhlavà souboru. Taková implementace se skládá ze vÅ¡ech metod definovaných v implementaÄnÃm souboru, kde je vstup aplikace ÅÃzen hlavnà metodou, která bere volitelný uživatelský vstup jako argumenty. Může také zahrnovat libovolné knihovny ze standardnà knihovny C++, které majà být použity jakýmikoli deklarovanými metodami v souboru.
/*
* 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";
}
Implementace tÅÃdy
V objektovÄ orientovaném programovánà (OOP) se jako definice tÅÃdy použÃvá soubor CPP. V takovém pÅÃpadÄ jsou vÅ¡echny datové Äleny tÅÃdy a Älenské funkce deklarovány uvnitÅ souboru záhlavÃ. Každý hlaviÄkový soubor může mÃt také odkaz na standardnà metody knihovny. Soubor CPP s definicà tÅÃdy odkazuje na soubor záhlavà v pÅÃkazu include na zaÄátku souboru. VývojáÅi softwaru vÄtÅ¡inou na zaÄátek takového souboru implementace tÅÃdy zahrnou komentáÅe, které poskytujà informace o skuteÄném obsahu souboru, podrobnostech o autorovi a datu implementace. V takových pÅÃpadech musà mÃt soubory implementace záhlavà stejná jména. PÅÃklad takového souboru záhlavà a implementace je následujÃcÃ.
Soubor záhlavÃ
#include <string>
#include <iostream>
using namespace std;
class MyClass {
public:
MyClass(); // Constructor
void add(int i, int j);
private:
std::string name;
};
Soubor implementace CPP
#include "MyClass.h"
MyClass::MyClass(){
...
}
void MyClass::add(int i, int j) {
int result # i + j;
}