Pourtant je pensais qu'en mettant la fonction en virtuel elle allait chercher la
déclaration dans ses classes de bases.
Et GAGenome est une classe de base de GADiploid, qui est une classe de...
Type: Messages; Utilisateur: Berzerk_
Pourtant je pensais qu'en mettant la fonction en virtuel elle allait chercher la
déclaration dans ses classes de bases.
Et GAGenome est une classe de base de GADiploid, qui est une classe de...
Ci-dessus le 1er code est extrait de GADiploidGenome.h, et le 2ème de GAGenome.h.
D'accord, j'ai donc abandonné l'idée du virtual.
Me voici avec un problème qui devrait être le dernier, du moins je l'espère, dans la construction de ces briques de base. Après j'attaquerais la...
Je ne comprends pas ce que tu veux dire.
Ok je comprends, et en effet je ne veux qu'une seule instantiation de GAGenome.
Que veux-tu dire? Que je devrais reprendre ma solution de faire...
GADiploid hérite effectivement de GAGenome
J'ai essayé d'appliquer ce que tu suggères:
class GADiploidGenome : public GADiploid, public virtual GAGenome
...
Tu veux dire en écrivant:
class GADiploidGenome : public GADiploid, public virtual GAGenome
?
Note:
J'ai contourné le problème hier en remplaçant:
C'est-à-dire? En mettant virtual devant toutes les fonctions et membres de GAGenome.h?
Le problème est que cette classe est une classe standard de la bibliothèque et donc que je ne peux pas y...
J'ai un problème avec un warning:
class GADiploidGenome : public GADiploid, public GAGenome
{
[...]
D'accord je vois, merci beaucoup.
Merci pour vos indications.
Une autre question:
GAGenome(Initializer i=0, Mutator m=0, Comparator c=0);
J'ai du mal à saisir le sens de cette écriture.
- Est-ce à dire que la fonction...
Merci Luc, je viens de tomber sur des istream et ostream.
Ca m'évite de poser la question. :)
Edit:
Ah, en fait:
J'ai trouvé, je ne faisais pas appel à la bonne fonction.
Merci d'avoir essayé de m'aider. ;)
C'est fait, j'obtiens la même sortie. Mais je ne comprends pas ce que c'était censé changer.
C'est bien là que tu veux que je rajoute le 'U'?:
short bit(unsigned int a, unsigned int c) const...
Je suppose que tu fais référence au fait que j'utilise printf et pas cout?
C'est parce qu'il s'agit d'une bibliothèque qui a plus de 10 ans, elle a été upgradée vers le C++, mais tous les standards...
J'ai conscience que ce problème doit être assez ridicule, qu'il faut juste que je cast quelque chose, mais je ne vois pas quoi...
Voici mon code:
short bit(unsigned int a, unsigned int c)...
D'accord merci, je ne me rappelais plus de cette nuance, désolé pour la question stupide.
Je mets Résolu et j'essaie d'avancer un peu sur mon projet.
Merci pour toutes tes réponses. :)
Merci, donc réponse 1). :)
Question subsidiaire:
Je vois dans l'exemple:
t.~Test();
Or mon compilateur (Visual C++ 7.1) m'oblige (erreur à la compilation) à faire appel aux méthodes...
D'accord, mais Chrom_1 et Chrom_2 créent aussi une structure data, donc il faut que je fasse appelle à leur destructeur.
Est-ce que faire:
virtual ~GADiploid()
{
delete[] Chrom_1;...
C'est ce que je fais en appelant le destructeur de Chrom_1 et Chrom_2:
virtual ~GABinaryString(){delete [] data;}
Par contre, cela sert encore à quelque chose que je laisse le destructeur de...
virtual ~GADiploid();
Voici le destructeur incriminé. Je vois d'où peut venir le problème...
Dans une 1ère version, j'avais écrit un destructeur, mais il a disparu avec mes bidouilles.
Je viens...
Merci, c'était ça en effet.
Comme de bien entendu, une erreur vient en chasser une autre.
GADiploid.obj : error LNK2019: symbole externe non résolu "public: virtual __thiscall...
Euh je veux bien, mais ça fait... 5 jours que je regarde.
Une petite piste (fichier? fonction?), please? :roll:
Pour la 1ère question j'ai trouvé, c'est juste que j'ai recopié bêtement le fichier d'origine sans modifier le nom dans le #define, donc ça faisait automatiquement une double définition.
Pour la...
Bonjour,
Je suis toujours sur le projet pour lequel j'avais demandé de l'aide dans ce thread: http://www.developpez.net/forums/showthread.php?t=154525
Après avoir un peu avancé, je suis face à...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.