Initialisation enum par les constructeurs
J'ai un enum public memebr d'une classe comme suit:"
class myClass
{
public:
enum myEnum
{
myEnum1,
myEnum2
};
};
Je déclare également un des constructeurs, un public paramétrée comme suit:
myClass(myEnum);
- Je définir le même à l'extérieur de la classs définition comme suit:
myClass :: myClass(myEnum E)
{
}
Comment puis-je initialiser myEnum avec des arguments par défaut?
J'ai essayé:
i)
myClass :: myClass(myEnum E = 0); //to int error
ii)
myClass :: myClass(myEnum E = {0}); //some error
iii)
myClass :: myClass(myEnum E = {0, 1}); //some error
Une chose que je ne comprends toujours pas l'air de comprendre.
Comment puis-je passer les valeurs de l'enum pour le constructeur. J'obtiens toujours une erreur. Et, j'ai besoin de faire de cette façon:
derived(arg1, arg2, arg3, enumHere, arg4, arg5); //call
Définition de la fonction:
derived(int a, int b, int c, enumHere, int 4, int 5) : base(a, b);
Où suis-je censé initialiser l'enum, comme l'une des réponses belowe faire?
Dans ma réponse, je suppose que c'est du c++, les tags ne sont pas, en disant cela, vous pouvez résoudre ce problème, votre question peut gagner beaucoup plus d'attention alors.
Il est en effet C++. Ont changé les balises maintenant. Merci.
Il est en effet C++. Ont changé les balises maintenant. Merci.
OriginalL'auteur Kuttu V | 2012-09-23
Vous devez vous connecter pour publier un commentaire.
Dirait que tu as confondu avec la déclaration de type de terrain. Dans votre classe
myEnum
est une déclaration de type, de classe et lui-même ne détient pas de domaine de ce type.Essayez ceci:
Ensuite, votre constructeur doit utiliser l'initialisation de membre:
Si vous voulez paramétrées constructeur:
Si vous voulez paramétrées constructeur avec argument par défaut:
Si vous souhaitez utiliser susmentionnés constructeur de la classe dérivée:
Ajout de quelques cas dans ma réponse.
Veuillez noter que seul constructeur de paramètre peut être utilisé pour lancer myEnum myClass. L'utilisation explicite, si ce n'est pas souhaitable.
OriginalL'auteur Bartosz