Flags mit enum



  • Hallo
    Wie kann ich ein Objekt mittels Flags konfigurieren? Folgende Idee:

    //Inter.h
    enum window_t{
        HANNING,
        BLACKMAN}
    
    class CInter
    {
    public:
        CInter(int iFrames);
            virtual ~CInter();
        void modify(window_t window);
    };
    

    Im mainfile würde ich gerne dieselben Bezeichner (HANNING, BLACKMAN) verwenden.

    {
        CInter myInter;
        myInter.modify(HANNING);
    }
    

    Das eigentliche Problem dabei die Sichtbarkeit meines enumerators. Gibt es stattdessen bessere Lösungen?
    Romer



  • Na ne header:

    //window.h
    #ifndef WINDOW_H
    #define WINDOW_H_WINDOW_H
    
    class window
    {
    private:
        window();    //kann man den Weglassen, oder wird der vom compiler generiert auch wenn ich einen anderen (nicht standard)Konstruktor definiere?
        //...
    public:
        enum window_status{status_1,status_2};
        window(const status s);    //definition in ner *.cpp...
    };
    
    #endif    //WINDOW_H
    
    //main:
    #include "window.h"
    
    int main()
    {
        window a(window::status_1);
        return 0;
    };
    

Anmelden zum Antworten