Classes polymères [C++] - C++ - Programmation
Marsh Posté le 24-03-2006 à 11:56:48
et ?
ce genre d'écriture
Code :
|
en plus d'etre illisible c'est pas tres malin pour la protablilité, et c'est une classe d'objets polymorphiques, tu pourrais écraser l'adresse de la vtable
Marsh Posté le 24-03-2006 à 12:02:56
coup de chance
tu te rends compte que c'est unutile, dangereux et pas portable ?
Marsh Posté le 24-03-2006 à 12:04:55
heu, c est pour ça que j ai précisé que c était compilé avec g++. il ya des méthodes portables de faire ça?
Marsh Posté le 24-03-2006 à 12:12:59
> monnom = o.monnom
ça marche pas
Marsh Posté le 24-03-2006 à 12:29:07
Code :
|
ca marche
#include <iostream.h>
-->
#include <iostream>
Marsh Posté le 24-03-2006 à 12:37:10
non, ça compile pas:
polymere.cpp:6: error: `cout' undeclared (first use this function)
Je doit pas avoir une bonne installation des librairies.
Marsh Posté le 24-03-2006 à 13:45:47
si tu fais #include <iostream.h>, tu peux utiliser tout ce que définit iostream (cin, cout, ...) directement.
Si tu fais #include <iostream>, tout ce que définit iostream est déclaré dans le namespace std. Du coup, il faut utiliser std::cout, std::cin, ... ou bien faire un "using namespace std"
Marsh Posté le 24-03-2006 à 13:58:35
je viens de comprendres ce que tu fais, et c'est bien ce que je disais
avec ce code
Code :
|
tu affectes affectes la valeur du pointeur sur la vtable de this avec celle de o, ca explique l'affichage
Citation : |
c'est quoi le but ?
Marsh Posté le 24-03-2006 à 16:23:41
ReplyMarsh Posté le 24-03-2006 à 21:15:43
Vous y avez cru aux classes polymères?
Citation : c'est quoi le but ? |
Rien qu'au ton de vos messages, je me suis tapé un bon fou rire.
> #include <iostream.h>
D'emblée ça commence mal...
> *((char**)this)=*((char**)&o);
...et là il y a de quoi dresser les cheveux sur la tête
> const char* monnom;
A fait, vous aviez supposé quoi là?
Merci aux participants
return + == ;
Marsh Posté le 26-03-2006 à 17:54:59
Faut pas assigner les pointeurs mais faire une copie de la chaîne.
Quelle est la matière de ton polymère ?? Tu cherchais le terme "polymorphe" je suppose...
Marsh Posté le 24-03-2006 à 11:45:09
Compilé avec g++:
Cliquer dans le cadre blanc pour voir le résutat:
Mon nom est A, je suis un ObjetA
Mon nom est A, je suis un ObjetB
+ =