Les énumérations à l'intérieur d'une classe C++

Je suis en train d'essayer d'utiliser une classe qui a un type enum déclaré à l'intérieur de la classe comme ceci:

class x {
public:
    x(int);
    x( const x &);
    virtual ~x();
    x & operator=(const x &);
    virtual double operator()() const;

    typedef enum  {
        LINEAR = 0,      ///Perform linear interpolation on the table
        DIPARABOLIC = 1  ///Perform parabolic interpolation on the table
    } XEnumType; 
};

J'ai besoin de déclarer une instance de cette classe et d'initialiser le type enum. Je viens de C# et normalement voir les énumérations, a déclaré à l'EXTÉRIEUR de la classe, pas à l'INTÉRIEUR, comme c'est ici. Comment initialiser le type enum. Par exemple, je veux faire quelque chose comme ceci:

x myX(10);   
myX.XEnumType = Linear;

Évidemment, cela ne fonctionne pas. Comment puis-je faire?

OriginalL'auteur Blade3 | 2011-05-06