begin process at 2012 05 29 07:11:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Initialisation d'un tableau d'objet


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Initialisation d'un tableau d'objet

samedi 17 décembre 2005 à 13:49:42 | Initialisation d'un tableau d'objet

Alela

Bonjour,
J'aimerais initialiser ma classe de cette façon :

MaClasse *mc= new MaClasse[5](7);

avec :

class MaClasse
{
    int nb;

    public:
       MaClasse()
       {
          nb = 0;
       }

       MaClasse(int entier)
        {
            nb = entier;
        }
       
        virtual ~MaClasse()
        {
        }
};

Lors de la compilation il m'affiche le message d'erreur (Dev C++):

 In function `int main()':
 ISO C++ forbids initialization in array new

Pourquoi ? Et comment y remédier ?
Merci ...
samedi 17 décembre 2005 à 14:20:10 | Re : Initialisation d'un tableau d'objet

vecchio56

Administrateur CodeS-SourceS
C'est interdit, pourquoi? C'est la norme, c'est tout. Pour y remédier, tu as plusieurs solutions. Par exemple tu fais une méthode init (qui va faire tout ce que devait faire le constructeur) et tu l'appelles sur chaque élément de ton tableau. C'est vrai que c'est pas très joli
samedi 17 décembre 2005 à 17:39:35 | Re : Initialisation d'un tableau d'objet

luhtor

Tu pourrais faire une fonction static et un entier static qui est la valeur par défaut donnée au objet.

Ca te donnerait:
MaClasse::Set_default_value(7);

MaClasse *mc= new MaClasse[5];

Enfin, tu comprends le truc ? ta classe aurait ainsi la forme suivante:
class MaClasse
{
    int nb;
    public:
       MaClasse()
       {
          nb = MaClasse::default_value;
       }

       MaClasse(int entier)
        {
            nb = entier;
        }
       
        virtual ~MaClasse()
        {
        }

    static set_default_value(int n)
        {
          MaClasse::default_value = n;
        }

    static int default_value;
};

int MaClasse::default_value = 0;

Enfin voila, mais bon, je suis pas convaincu de l'utilité de ca. Autant initialiser tous les éléments de ton tableau après leur création.
samedi 17 décembre 2005 à 17:47:20 | Re : Initialisation d'un tableau d'objet

Alela

Merci beaucoup pour ces réponses ... Maintenant c'est clair ...
samedi 17 décembre 2005 à 18:07:36 | Re : Initialisation d'un tableau d'objet

vecchio56

Administrateur CodeS-SourceS
Cela dit, c'est pas normal que la C++ interdise de faire ce que tu voulais faire au début... Je vois pas en quoi ca peut poser un problème au compilateur.


Cette discussion est classée dans : int, tableau, nb, initialisation, maclasse


Répondre à ce message

Sujets en rapport avec ce message

les class tjs le class... [ par JediMaster ] bon ben chuis enfin arriver a faire un tableau dans une classe et chuis tres content mais j'ai un autre pb je veux faire un tableau d'objet que j'init pb classe [ par JediMaster ] j'ai créé un tableau dynamique dans une classe comme ca:class MaClasse{public: int m_largeur; int m_hauteur; int** m_tableau; MaClasse(int lar,int hau Fonction qui retourne un tableau [ par Kurul1 ] Bonjour à tous   J'ai une classe contenant un tableau a deux dimensions comme variable private  Ce que je voudrais c'est une fonction ayant pour param Problemes ac les tableau [ par alussk ] ce code doit renvoyer la niemes plus grande valeur d'un tableau d'entier. il ne marche pas donc si vous comprenez pourquoi éclairez moi svp #include initialisation d'un tableau de structure [ par thmatew ] Bonjour a tous,meme si je ne débute pas en C je pense que ce message doit etre poser ici.je n'arrive pas a initialiser une structure en brut, un Exemp probleme d'initialisation d'un tableau sous code blocks [ par juju116 ] bonjour j'ai voulu juste tester un code bidon pour voir si mon initialisation de tableau fonctionné et j'ai obtenu des résults incoherents je n'ai que Envoyer un pointeur sur un tableau [ par xcxl ] Bonjour, J'ai une question sur les pointeurs à vous poser (décidément les pointeurs y'a pas plus complexe...erreur de segmentation à chaque fois) J' passer un tableau 2D en paramètre et retourner une somme [ par lionpri ] Bonjour,Je suis débutant en C et j'ai du mal à comprendre les déclarations de fonction. J'aimerais passer un tableau 2D en paramètre d'une fonction et Problème de définition de fonction dans une classe [ par labuche75 ] Bonjour à tous, je rencontre un problème à priori de définition de fonction dans la classe tableau permettant de manipuler de grands entiers nécessair sizeof pour determiner automatiquement la taille d'un tableau [ par Chatbour ] Salut à tous et à toutes, je me remets a C++ après une longue pause, donc soyez indulgents ^^ je me demande pourquoi ce code donne un résultat faux


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales