Comment mettre une constante dans la partie private d'une classe?? - C++ - Programmation
Marsh Posté le 29-07-2004 à 13:48:45
int * a
a = new int[2500]
?
Marsh Posté le 29-07-2004 à 13:50:11
Masklinn a écrit : int * a |
n'importe quoi...
static const nbCol = 50 ;
Marsh Posté le 29-07-2004 à 13:53:59
la solution, un bon bouquin dont les references sont indiquees sur le forum.
Marsh Posté le 29-07-2004 à 13:57:12
JagStang a écrit : n'importe quoi... |
il veut pas nombrecol et nombrelig variables?
(enfin ca serait plutot nombrecol*nombrelig)
(pq les tableaux C en 2D ce sont pas des tableaux en 1D pris par séquences?)
Marsh Posté le 29-07-2004 à 14:49:43
Pourquoi n'utilises-tu pas une classe existante, comme boost::uBlas ou Blitz++ ?
Marsh Posté le 29-07-2004 à 15:59:47
quoi?
je cherche en fait a utiliser un element private de ma class matrice qui est variable pour définir une fonction dans laquel cet valeur doit etre constante genre
class Matrice{
public:
void manger();
private:
int g;//g est variable!
};
void Matrice::manger(int a[g]){etc...};//g est constant...
sinon g pas compris qu'est ce qu'on fait avec boost::ublas???
et sinon g un bon livre mais bon c un cas qui n'est pas traiter ou alors pas comme ca!
Marsh Posté le 29-07-2004 à 17:11:38
boost::ublas est une classe matrice... c'est déjà tout prêt.
Sinon pour ton truc variable / constant, c'est pas possible. La dimension d'un tableau doit être défini par une constante, et
manger(int a[g]);
ça marche pas, on peut pas passer un tableau entier, on le passe par pointeur :
manger(int * a);
Dans ton cas on a plutot recours aux template.
Regarde dans boost, tu as tout de fait (opérations, affichage, ...)
http://www.boost.org/libs/numeric/ublas/doc/matrix.htm
Marsh Posté le 29-07-2004 à 17:17:26
pas d'équivalent dispo dans la STL?
Marsh Posté le 29-07-2004 à 17:45:17
Si tu te limite à STL, tu pourrais utiliser un std::vector avec une petite adaptation pour une utilisation en 2D.
Marsh Posté le 30-07-2004 à 01:49:24
en faite j'essaie de faire tout moi meme, j'en ai aucune utilité et c juste pour apprendre le c++ que j fais ca donc utiliser un truc deja tout fait me sert a rien !!!
Merci quand meme!
Marsh Posté le 30-07-2004 à 08:03:37
Au moins, jette un coup d'oeil au code de Boost, si tu veux un modele.
Marsh Posté le 30-07-2004 à 08:29:52
xterminhate a écrit : Au moins, jette un coup d'oeil au code de Boost, si tu veux un modele. |
C'est peut etre pas le plus simple, s'il veut débuter...
Marsh Posté le 30-07-2004 à 12:32:34
lunarnet76 a écrit : en faite j'essaie de faire tout moi meme, j'en ai aucune utilité et c juste pour apprendre le c++ que j fais ca donc utiliser un truc deja tout fait me sert a rien !!! |
Eh bien fait le avec un template alors. Autant rendre ta classe générique.
Marsh Posté le 29-07-2004 à 13:46:19
heu g un big probleme,
class Matrice{
public:
void afficher();
private:
int a[50][50];
int nombrecol,nombrelig;
};
et je voudrais une fonction qui remplis le a[50][50] de la matrice avec un tableau mais qui soit b[nombrecol][nombrelig], le seul probleme c'est que pour un tableau il faut des constantes et la elle ne le sont pas alors quel est la solution?
merci
---------------
!jb!