Construction et tableau d'objets [Résolu]

- - Dernière réponse :  Profil bloqué - 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

Messages postés
3801
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
15 novembre 2019
90
0
Merci
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
0
Merci
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 Profil bloqué