2011-01-16 8 views
1

Ich bin neu in C++ und möchte nach Klassenhelfern fragen.Klassen- und Klassenhelfer

Nun, ich habe eine Klasse und ich, was Klasse Helfer in anderen Datei sein. Dafür sollte ich Namespaces verwenden, aber dann kann ich diese Datei nicht mehrfach einschließen (wegen Neudefinition).

Was ist der richtige Weg, um Klassenhelfer in anderen Klassen zu machen? Sollte ich dafür statische Klassen verwenden?

UPD: Ok, ich bekomme den passendsten Teil, aber sollte ich Namespaces oder statische Klassen für Klassenhelfer benutzen? (Ich sehe keinen Nutzen darin Klassen zu benutzen, wenn Namensräume, aber ich bin ein Neuling, also bin ich mir nicht sicher). UPD2: Oh. Mit einer Klasse dafür kann ich Unterklassen für die Helferklasse erstellen.

+0

nicht eine exakte Kopie, aber die Antworten auf http://stackoverflow.com/questions/4702579/c-linking-with-namespaces-causes-duplicate-symbol-error/4702707 # 4702707 Beantworten Sie Ihre Frage. –

Antwort

2

Verwenden Sie #ifdef, um mehrere Neudefinitionen zu vermeiden.

auch einen Blick auf diesen Beitrag: #pragma once vs include guards?

+1

+1. Beachten Sie auch, dass dies nichts mit Ihrem spezifischen Problem zu tun hat, sondern ein allgemeiner Hinweis: Ihre Header-Dateien sollten alle Wächter enthalten. – ereOn