exception Deklaration in Interfaces
-
Hallo,
ich wollte ein kleines Projekt von mir nach 6 Monaten Pause wieder
anfangen und bin ein bisserl raus aus C++.Ich hatte wohl vor alle exceptions in "my_exceptions.hpp"
aufzulisten und in "my_exceptions.cpp" zu implementieren.Die Dateien sehen dann mehr oder weniger so aus:
my_exceptions.hpp
// includes #include <stdexcept> // using declarations using std::logic_error; using std::string; // error classes class error_vm_in_adt;my_exceptions.cpp
#include "my_exceptions.hpp" class error_vm_in_adt: public logic_error { public: // constructor explicit error_vm_in_adt(const string & message): logic_error(message) {} // constructor // overwritten virtual member virtual const char * what() { return logic_error::what(); } // what }; // error_vm_in_adtWenn ich die Exception aber werfen will, scheint der Compiler Probleme
zu haben, die member functions in der cpp-Datei zu erkennen.Nun hätte ich aber in meinem Interface gern nur die
Deklarationen der exception-class,
aber nicht der jeweiligen member functions,
weil ich das als übersichtlicher empfinde.Wie kann ich das realisieren?
Vielen Dank für die Vorschläge
Rahul
-
Rahul0891 schrieb:
Nun hätte ich aber in meinem Interface gern nur die
Deklarationen der exception-class,
aber nicht der jeweiligen member functions,
weil ich das als übersichtlicher empfinde.Wie kann ich das realisieren?
Garnicht. Wenn du Funktionen von außen aufrufen können willst, musst du sie auch im Header deklarieren.
Außerdme solltest du using-Direktiven im Header im globalen Namensraum vermeiden.
-
pumuckl schrieb:
Garnicht. Wenn du Funktionen von außen aufrufen können willst, musst du sie auch im Header deklarieren.
Auch nicht mit mehrfach geschachtelten Interfaces,
ich meine irgendwo sowas gelesen zu haben,
bin mir aber nicht sicher.pumuckl schrieb:
Außerdme solltest du using-Direktiven im Header im globalen Namensraum vermeiden.
using direktiven versuche ich allgemein zu vermeiden, aber auch using deklarationen? die sind doch recht speziell gehalten...