Mehrere Codedateien in C++

Muhammad Husnain 12 Oktober 2023
Mehrere Codedateien in C++

In diesem Tutorial geht es um die Verwendung mehrerer Dateien in Ihrem einzelnen C++-Programm. Das Schreiben Ihres gesamten Codes in eine einzige Datei wird bei größeren und langwierigen Projekten umständlich, daher werden wir lernen, wie Sie Dateien in einem Projekt trennen und es überschaubarer und einfacher umgestaltbar machen.

Bis zu diesem Punkt Ihrer Programmierkarriere haben Sie Ihren gesamten Code in eine einzige Datei geschrieben. Es hatte alles: die Hauptfunktion, Prototypen, Systemfunktionen, Zusatzfunktionen, alles!

Dies ist nicht die beste Methode, um ein (großes) Programmierprojekt zusammenzustellen. Sie lernen, Ihr Programmierprojekt in mehrere Dateien aufzuteilen, um es organisierter, sicherer, übertragbarer, modifizierbarer und schneller neu zu kompilieren.

Dafür gibt es viele Gründe, aber wir können aus Zeit- und Informationsüberlastung nicht ins Detail gehen.

Verwenden Sie mehrere Codedateien in einem C++-Programm

Wir beginnen mit einer Beispieldatei, die alles in einer Datei enthält, und trennen diese Datei dann.

Beispielcode:

#include <iostream>
using namespace std;

void helloFunc();
int main() {
  helloFunc();
  return 0;
}
void helloFunc() { cout << "Hello World" << endl; }

In diesem Codeschnipsel sehen Sie, dass wir die Funktion helloFunc() zuerst deklariert und später im Programm definiert haben. Dann haben wir die main-Funktion geschrieben.

Dies kann in drei Dateien erfolgen. Wir deklarieren die Funktion in der Header-Datei und definieren sie in der cpp-Datei.

Beispielcode (hello.h):

#include <iostream>
using namespace std;

void helloFunc();

Beispielcode (hello.cpp):

#include "hello.h"
void helloFunc() { cout << "Hello World" << endl; }

Beispielcode (main.cpp):

#include "hello.h"

int main() {
  helloFunc();
  return 0;
}

Beginnen wir mit der Header-Datei hello.h. Header-Dateien enthalten die Definitionen von allem wie Funktionsdefinitionen, Definitionen von struct oder class oder Definitionen von Konstanten.

Diese Erweiterung .h teilt dem Compiler mit, dass diese Datei nicht kompiliert werden soll; es ist wie eine Textdatei und kann von jedem gelesen werden. Dies impliziert, dass die Header-Datei eine Dokumentationsdatei ist.

Wenn ein Programmierer in Zukunft einige Funktionen verwenden möchte, muss er nur den Prototyp der Funktionen überprüfen und muss nicht ins Detail über Funktionsdefinitionen gehen. Schließlich sollte der Vorlagencode auch in der Header-Datei enthalten sein.

Nun kommt die cpp-Datei, die die in der Header-Datei deklarierte Funktionsdefinition enthält. Die CPP-Datei teilt dem Compiler mit, dass diese Datei kompiliert und in eine Binärdatei konvertiert werden soll.

Die Integrität Ihres Codes ist geschützt und niemand kann ihn ohne Ihre Erlaubnis ändern. Das bedeutet, dass diese Codetrennung auch die Sicherheit Ihrer Codedateien gewährleistet.

Ein weiterer Grund für diese Technik ist die Portabilität; Beispielsweise haben Sie einen binären Suchcode geschrieben, der später in vielen anderen Programmen verwendet werden kann. Wenn Sie diese separaten Dateien für Funktionen haben, können Sie solche Funktionen problemlos in jedem anderen Projekt verwenden.

Schließlich enthält die main-Datei nur die main-Funktion und enthält oben die Header-Datei. Diese Datei enthält nur die Funktion main, die nur alle Funktionen aufruft und sonst nichts.

Muhammad Husnain avatar Muhammad Husnain avatar

Husnain is a professional Software Engineer and a researcher who loves to learn, build, write, and teach. Having worked various jobs in the IT industry, he especially enjoys finding ways to express complex ideas in simple ways through his content. In his free time, Husnain unwinds by thinking about tech fiction to solve problems around him.

LinkedIn

Verwandter Artikel - C++ File