créé des objet carré a partir d'objet baton [c++] - C++ - Programmation
Marsh Posté le 15-06-2003 à 17:32:27
et apres la class dérivée me permetra de faire des briques tetris
Marsh Posté le 15-06-2003 à 17:34:18
utlise cpp et montre nous précisément ou est ton problème
l'operator= ne s'herite pas. mieux vaut ecrire operator+ hors classe en fonction de operator += (et pareille pour les autres)
Marsh Posté le 15-06-2003 à 18:12:17
++Taz a écrit : |
Citation : mieux vaut ecrire operator+ hors classe en fonction de operator += (et pareille pour les autres) |
je ne comprends pas du tout ce que tu veux dire :
hors de la class en de operator +=
l'operateur * me permet de monter et le + me permet d'aller a droite ....
je sais ce n'est pas tres parlant ms bon et peu judicieux d'utiliser le + et le * pour se deplacer ...
ce que j'aimerais c'est de faire ca :
Code :
|
me creer un objet carre et l'afficher.
au niveau du contructeur de carré
je créé l'objet t et je fais un carré
j'aimerais affecté le carré de type baton a carré
Code :
|
Marsh Posté le 15-06-2003 à 18:17:33
ton code veut absolument rien dire du tout je sais pas si tu t'en rends compte.
je vois pas pourquoi tu fais pas ça
Code :
|
Marsh Posté le 15-06-2003 à 18:34:31
excuse moi, dsl de t'avoir embrouiller avec
ca
en fait j'ai 2 fonctions menbres avec les opertor + et +=
et j'en retiré la mauvais ici pour presemnter le problème
l'operator + est inutile, oubli le .....
dc j'utilise bien comme fonction menbre
Code :
|
t*unite; t+=-unite; t*-unite; => je pense maintenat que tu sais a quoi cela sert, cela perds d'ajouter ds une listes des coordonées
Marsh Posté le 15-06-2003 à 18:51:21
t*unite; t+=-unite; t*-unite;
moi quand j'ecris
t*3; t+=-3; t*-3 je m'attends seulement à décrémneter t de 3
ta sémantique est imbittable
à moins que sache ce que tu fais, aulieu de faire 36 operator=, fais plusieurs constructeur
Marsh Posté le 15-06-2003 à 19:34:17
++Taz a écrit : t*unite; t+=-unite; t*-unite; |
je trouve ca assez claire mes batons
tu declares un baton et apres tu te balades, comme lorsque tu t'amusais a déplacé une tortue qd tu etait momes. En lisant les instructions, la faisais déplacer.
"deplacez de 3 cases en haut, puis 3 cases a gauche puis descendez de 3 case en bas"
en fait c'est ce que tu vient de faire ..
Code :
|
c'est une partie du A par exemple
|---|
| |
| |
comprends tu comment cela fonctionne maintenant l'operator + et * de la classe baton...
Citation : à moins que sache ce que tu fais, aulieu de faire 36 operator=, fais plusieurs constructeur |
oui je suis assez bien content de moi, cela m'a permit de creer la classe chiffre me permettant d'ecrire sous opengl.
dc voilou
Code :
|
j'ai une erreur au niveau de l'affectation *this=baton;
Error: BATON.H(68,3):Improper use of typedef 'baton'
comment faut il faire ???
this designe la classe que je suis en train d'utiliser dc carre
=> this = baton est equivalent à carre = baton, il faut dc peut etre surdéfinnir l'operateur = !!!!
Marsh Posté le 15-06-2003 à 19:52:38
relis moi et comrpends bien que vu ce que tu fais carré est un baton! alors
Code :
|
fonctionne
je crois que tu ne sais absolument pas que tu fais et que tu as des notions tres fabiles sur l'heritage et la POO
Marsh Posté le 16-06-2003 à 00:09:08
je te remercie Taz pour cette dernière remarque
un héritage est une spécialisation
or dans ce cas, un carré possède (a) des batons ....
dc ca serait peut etre pas vraiment un heritages, ms plutot un tableau d'objet de baton que l'on déclarerait ds carré.
Code :
|
je ne comprends pas du tout ce que tu veux faire avec
Code :
|
c'est meme pas son prototype, ni meme un appel a la fonction
Que me conseille tu de faire ????
je ne veux surtout pas changer l'operator + et * qui fonctionne a mmerveille
sinon si c'est trop difficile ou trop long, je travaillerais directement sur les listes :
std :: list<float> coordx, coordy;
sans utilisé mes operateurs de + et * qui s'occupes d'ajouter les coordonnées automatiquement. Ca serait dommage de pas en profiter ms bon voilou ......
Marsh Posté le 15-06-2003 à 17:29:56
Bonjour,
Je possède une classe baton me permettant d'afficher et de manipuler des "batons" et de dessiner tres facillement sous opengl.
donc par exemple
permet d'enregistrer des coordonnées pour me faire un carré
t+1; -> je vais a gauche
t*1 -> je monte
t+(-1) -> je descends
t+(-1) -> je vais a droite
puis je l'affiche
ce que j'aimerai, c'est la même chose avec une class carré, dc carré est un derivé de baton.
j'aimerais faire un struc du style
carre t2(1,2);
t2.affiche();
pour que cela m'affiche un carré à (1,2) de coté 1.
je pense que c'est au niveau du contructeur de carré que j'ai un petit souci:
je créé un objet baton :
baton t(abs,ord);
je puis j'ajoute les coordonnées ds l'objet t
t+=unite; t*unite; t+=-unite; t*-unite;
puis j'aimerais affecter ces coordonnées à l'objet en lui meme que je manipule
dc
this = t;
ms cela ne fonctionne pas
Est que vous vooyez ce que j'aimerais faire ?
J'espere que j'ai été suffisamment assez claire
comme vous pouvez le remarquer les coordonnées sont notés ds une liste
voici ma fonction si peut vous aider si j'ai pas été très claire
ma class carré
et ses fonctions membre :
Message édité par weed le 15-06-2003 à 18:37:23