Klasse: Klassennamen ausgeben



  • Ganz simples Beispiel:

    class Dummy
     {
      public:
      doBla(int a);
    
      private:
      int b;
     };
    
    Dummy Test1;
    Dummy Test2;
    Dummy Test3;
    Dummy Versuch1;
    Dummy Versuch2;
    Dummy Versuch3;
    

    Gibt es die Möglichkeit die Namen der einzelnen (Unter?)Klassen, also z.B. Test1, Versuch1 ausgeben zu lassen?

    Greetz
    Johrtreel

    [ Dieser Beitrag wurde am 21.05.2003 um 16:17 Uhr von johrtreel editiert. ]



  • Hallo,
    ich sehe hier nur *einen* Klassenname und dazu noch etliche Syntaxfehler.

    Was genau willst du machen?



  • Hi,

    wenn du den Typ dir ausgeben lassen willst, dann schau dir mal typeid () an
    (musst <typeinfo> includieren). Wenn du den Namen des Bezeichners herausbekommen
    willst, dann geht das AFAIK _nicht_.

    Ausserdem kann man keine Bezeichner deklarieren, die mit einer Zahl beginnen.

    mfg
    v R



  • Okay. Hab es nocheinmal verändert. Ich möchte nicht den Klassennamen "Dummy" sondern die einzelnen Unterklassennamen (wie sagt man den dazu?) ausgegeben haben, also z.B. Test1, Versuch1 und so weiter.

    Greetz
    Johrtreel



  • Die Dinger heissen Variablennamen und was du da vorhast geht nicht, da die Variablennamen nur für den Menschen sind. Der Compiler schmeisst das raus. Was willst du denn überhaupt damit anfangen?

    -junix



  • Original erstellt von johrtreel:
    ...die einzelnen Unterklassennamen (wie sagt man den dazu?) ausgegeben haben, also z.B. Test1, Versuch1 und so weiter.

    jo und jetzt mach ich sowas wie:

    Dummy trala[100]
    

    wie sollen die dinger denn dann heissen 🙂

    da geht nicht wirklich sinnvoll und ausserdem, was soll das eigentlich bringen???



  • Das hatten wir doch schon ein paar mal. Das geht mit dem Präprozessor.

    #define create_Dummy(name,string) Dummy name; string = #name;
    
    std::string bezeichner;
    
    create_Dummy(Test1, bezeichner)
    

Anmelden zum Antworten