Co to jest plik C++?
Pliki z rozszerzeniem pliku CPP to pliki kodu źródÅowego aplikacji napisanych w jÄzyku programowania C ++. Pojedynczy projekt C++ może zawieraÄ wiÄcej niż jeden plik CPP jako kod źródÅowy aplikacji. Taki projekt skÅada siÄ z różnych typów plików, z których pliki CPP nazywane sÄ plikami implementacyjnymi, ponieważ zawierajÄ wszystkie definicje metod zadeklarowanych w pliku nagÅówkowym (.h). Projekt C++ jako caÅoÅÄ daje wykonywalnÄ aplikacjÄ, gdy jest skompilowany jako caÅoÅÄ.
Struktura plików CPP
Struktura plików CPP jest prosta w porównaniu z plikami nagÅówkowymi. GÅównym celem takiego pliku implementacji jest oddzielenie interfejsu od implementacji. Powoduje to deklaracje wszystkich funkcji skÅadowych w pliku nagÅówkowym i ich szczegóÅy w pliku CPP. Plik implementacji CPP może sÅużyÄ jako prosty plik do napisania aplikacji lub jako implementacja klasy.
Niezależna implementacja
Plik CPP używany jako niezależna aplikacja może zawieraÄ wszystkie implementacje w nim zawarte bez wymogu deklaracji metod w pliku nagÅówkowym. Taka implementacja skÅada siÄ ze wszystkich metod zdefiniowanych w pliku implementacji, gdzie wpis aplikacji jest zarzÄ dzany przez gÅównÄ metodÄ, która przyjmuje opcjonalne dane wejÅciowe użytkownika jako argumenty. Może również zawieraÄ dowolne biblioteki ze standardowej biblioteki C++, które majÄ byÄ używane przez dowolne metody zadeklarowane w pliku.
/*
* 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";
}
Implementacja klasy
W programowaniu zorientowanym obiektowo (OOP) plik CPP jest używany jako definicja klasy. W takim przypadku wszystkie skÅadowe danych klasy i funkcje skÅadowe sÄ deklarowane w pliku nagÅówkowym. Każdy plik nagÅówkowy może z kolei mieÄ odniesienia do standardowych metod bibliotecznych. Plik definicji klasy CPP odwoÅuje siÄ do pliku nagÅówkowego w instrukcji include na poczÄ tku pliku. NajczÄÅciej twórcy oprogramowania umieszczajÄ na poczÄ tku takiego pliku implementacji klasy komentarze, które dostarczajÄ informacji o faktycznej zawartoÅci pliku, danych autora i dacie implementacji. W takich przypadkach pliki implementacji nagÅówka muszÄ mieÄ takie same nazwy. PrzykÅad takiego pliku nagÅówka i implementacji jest nastÄpujÄ cy.
Plik nagÅówkowy
#include <string>
#include <iostream>
using namespace std;
class MyClass {
public:
MyClass(); // Constructor
void add(int i, int j);
private:
std::string name;
};
Plik implementacji CPP
#include "MyClass.h"
MyClass::MyClass(){
...
}
void MyClass::add(int i, int j) {
int result # i + j;
}