Construction et tableau d'objets [Résolu]

blacksoul305 81 Messages postés vendredi 26 février 2010Date d'inscription 6 août 2015 Dernière intervention - 3 août 2015 à 21:02 - Dernière réponse : blacksoul305 81 Messages postés vendredi 26 février 2010Date d'inscription 6 août 2015 Dernière intervention
- 6 août 2015 à 01:25
Bonsoir,

je viens vous exposer un problème sur lequel je bute et que je n'arrive pas à résoudre.

Le problème est assez simple à expliquer, je dispose de deux classes :
:: Number
:: Grid

Grid est une classe qui est a notamment comme attribut un tableau statique à 7 éléments de type Number.

Je suis parvenu à créer un constructeur pour Number en utilisant la méthode de la liste d'utilisation. En revanche, je ne sais pas comment faire pour créer le constructeur de ma classe Grid à cause de ce tableau...

J'en profite pour vous faire part de mon second problème auquel j'ai fait face dans un autre programme, pareil lors de la création du constructeur de ma classe. Ma classe était doté d'un vector de type double, et je ne suis pas parvenu à créer un constructeur pour ma classe.

La question finalement est la suivante : comment créer un constructeur pour une classe qui a comme attribut un tableau statique et/ou un tableau dynamique ?

Merci à ceux et celles qui me liront, et à ceux et celles qui me répondront.
Afficher la suite 

2 réponses

Répondre au sujet
cptpingu 3784 Messages postés dimanche 12 décembre 2004Date d'inscriptionModérateurStatut 18 avril 2018 Dernière intervention - 4 août 2015 à 23:08
0
Utile
Bonjour.

En C++ classique ce n'est pas possible. Il te faut utiliser une fonction annexe pour la mettre dans ta liste d'initalisation.
En C++11, c'est géré nativement.

std::vector<Number> initTab()
{
  std::vector<Number> tab;
  tab.push_back(Number(10));
// ....
  return tab;
}

class Grid
{
public:
// En C++03
  Grid()
 : _tab(initTab()), _i(42)
 {
 }

// En C++11
  Grid()
  : _tab({Number(10), Number(38)}), _i(42)
 {
 }

private:
 std::vector<Number> _tab;
 int _i;
};

Commenter la réponse de cptpingu
blacksoul305 81 Messages postés vendredi 26 février 2010Date d'inscription 6 août 2015 Dernière intervention - 6 août 2015 à 01:25
0
Utile
Bonsoir,

merci beaucoup pour ta réponse complète ! J'ai opté pour l'ajout d'une fonction d'initialisation. Résolu !
Commenter la réponse de blacksoul305

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.