[c++] rappel de constructeur

rappel de constructeur [c++] - C++ - Programmation

Marsh Posté le 05-12-2004 à 22:17:06    

c'est certainement tres simple, mais là en cpp je trouve pas le bon mot clé!  
 

Code :
  1. Matrix::Matrix(unsigned int nb_row, unsigned int nb_col){
  2. ...
  3. }
  4. Matrix::Matrix(unsigned int n)
  5. {
  6.     Matrix::Matrix(n,n);
  7. }


 
donc je veux 2 version du constructeur, mais dans la deuxieme, pour pas tout rettaper je rappel le premier (comme j'aurais fait en java)
seulement tel qu'il est il compile mais si je regarde la dimmenssion d'une matrice crée avec Matrix m = Matrix(4); bha c'est pas une 4,4 mais une 0,0 :(, alors que le premier constructeur marche bien!


---------------
Habillé par Canon, Gallerie web v1.0
Reply

Marsh Posté le 05-12-2004 à 22:17:06   

Reply

Marsh Posté le 05-12-2004 à 22:20:08    

tu peux pas. Fais un argument par défaut par exemple.

Reply

Marsh Posté le 05-12-2004 à 22:23:51    

le problème, c'est que l'argument par défaut est dynamique, il faudrait quelque chose dans ce gout:
 

Code :
  1. Matrix::Matrix(unsigned int nb_row, unsigned int nb_col = nb_row){
  2. ...
  3. }


 
bon tampis je sent que je vais faire avec une fonction annexe :(
 

Code :
  1. Matrix::Matrix(unsigned int nb_row, unsigned int nb_col){
  2.     init(nb_row,nb_col);
  3. }
  4. Matrix::Matrix(unsigned int n)
  5. {
  6.     init(n,n);
  7. }


Message édité par cybercouf le 05-12-2004 à 22:25:45

---------------
Habillé par Canon, Gallerie web v1.0
Reply

Marsh Posté le 05-12-2004 à 22:31:24    

y a pas de quoi chié une pendule, le C++ c'est pas Java, et les contraintes ne sont pas les mêmes, ni l'implémentation. Ceci explique donc qu'on a pas les mêmes constructions en java.
 
 
Tu pourrais aussi utiliser UINT_MAX comme valeur spéciale

Reply

Marsh Posté le 05-12-2004 à 22:48:46    

Taz a écrit :

y a pas de quoi chié une pendule, le C++ c'est pas Java, et les contraintes ne sont pas les mêmes, ni l'implémentation. Ceci explique donc qu'on a pas les mêmes constructions en java.
 
 
Tu pourrais aussi utiliser UINT_MAX comme valeur spéciale


 
ou t'as vu que j'ai dit le "c++ c'est de la merde, le java c'est mieux" ??
je parlais de l'équivalent java simplement car en java je sais le faire mais en cpp non (car suis un newbie en cpp), et donc je cherchais le moyen de le faire, mon ":(", était car je pensait trouver une version plus "propre" ou plus directe, je ne remets pas en question le c++ pour autant!


---------------
Habillé par Canon, Gallerie web v1.0
Reply

Marsh Posté le 05-12-2004 à 23:12:20    

ce que Taz voulait dire c'est que SEMANTIQUEMENT le C++ et le JAVA c'est 2 modes bien distinct c'es tout.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed