Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hi,

wie der Titel schon sagt, möchte ich mehrere Klassen in einen Header unterbringen.

Zum aktuellen Problem:

Ich habe einen Header in den stehen mehrere Funktionen, die nicht teil einer Klasse sind. Innerhalb der Cpp-Datei befinden sich dann diese Funktionen. In der Cpp Datei selber befinden sich noch ein paar Funktionen die nicht im Header auftauchen, da man nicht auf diese zugreifen soll, wenn man den Header einbindet.

Nun will ich eine Klasse hinzufügen ...

Die Deklaration in der Header-Datei verläuft ohne Probleme, der Compiler meckert nicht und das Programm startet so wie es soll. Will ich nun aber in der Cpp-Datei den Constructor und Destructor hinzufügen, beendet das Programm mit der Compilermeldung: "Klasse" has not been declared"

Ich hab sowohl den Header in die Cpp-Datei eingebunden (sonst würden die Funktionen davor schon nicht funktionieren), als auch den Namen der Klasse richtig geschrieben und auf Groß- und Kleinschreibung habe ich auch geachtet.

Warum tut dann der Compiler trotzdem so als ob er die Klasse in der Cpp-Datei nicht kennt ?

Danke schon mal im Voraus

mfg Mr. Miyagi

Hi,

wie der Titel schon sagt, möchte ich mehrere Klassen in einen Header unterbringen.

Warum? Welchen Sinn soll das haben?

Klassedeklaration = Header

Klassenimplementation = Cpp

(abgesehen von Tempates)

Phil

Warum? Welchen Sinn soll das haben?

Der Sinn soll sein, dass man eine Art Mainheader hat, den man einbindet und

dieser dann mehrere Klassen beinhaltet. Anstatt dann alle Klassen einzeln in

sein Projekt einzubinden, soll man einen großen Header einbinden können.

Damit man nicht alles in eine Cpp-Datei macht, gibt es einen Header und

mehrere Cpp-Dateien dazu die dann die jeweiligen Funktionen enthalten.

Habe gerade ein kleines Beispiel gemacht, aber das führt er ohne Probleme aus. Werde

erst einmal weiter versuchen das eigentliche Projekt auch so zum laufen zu bekommen.

Hat sich schon erledigt.

Habe in dem Projektordner einen Header zum DLL Export und einen für das

Testen der Klassen und Funktionen. Habe die Klasse im Projektheader

deklariert, aber in der Cpp-Datei den Header für den DLL Export noch zu

stehen gehabt. Ist ja dann kein Wunder das die Klasse dann in der Cpp-

Datei nicht erkannt wird. :rolleyes:

Na ja, war wohl gestern etwas blind auf den Augen. :D

Danke euch ...

Mr. Miyagi

Der Sinn soll sein, dass man eine Art Mainheader hat, den man einbindet und

dieser dann mehrere Klassen beinhaltet. Anstatt dann alle Klassen einzeln in

sein Projekt einzubinden, soll man einen großen Header einbinden können

Main.h:


#pragma once

#include "class1.h"

#include "class2.h"

#include "classn.h"
class1.cpp:
#include "Main.h"
class2.cpp:
#include "Main.h"
classn.cpp:
#include "Main.h"

Wo ist da das Problem?

Wer die Klassen brauch includiert die Main.h. :rolleyes:

Der Sinn soll sein, dass man eine Art Mainheader hat, den man einbindet und

dieser dann mehrere Klassen beinhaltet. Anstatt dann alle Klassen einzeln in

sein Projekt einzubinden, soll man einen großen Header einbinden können.

Das ist nur dann sinnvoll, wenn man diese Klassen auch immer zusammen braucht.

Man holt sich nämlich damit ein anderes Problem ins Haus: Wenn man irgendetwas an diesem "Sammelheader" ändern muss, muss man alle Quellcodedateien, die diesen Header einbinden, neu erstellen. Bei gut aufgeteilten Headern muss man nur die neu compilieren, die den geänderten Teil wirklich brauchen. Stichwort Compilezeitabhängigkeiten.

Das kann bei größeren Projekten einen immensen Zeitunterschied ausmachen.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.