Hallo Leute,
ich hab mal wieder ein Problem...
Ich habe aus einer Bibliothek 2 Klassen die sich jeweils aus 2 Basisklassen ableiten. Hier die Hierachie:
1. GABin2DecGenome : public GA1DBinaryStringGenome : public GABinaryStringGenome, public GAGenome
2. GARealGenome : GAReal : public GA1DArryAllelGenome : public GA1dArryGenome : public GAArray<T>, public GAGenome
Ich habe nun über eine Abfrage ein Objekt "genome" wie folgt erzeugt:
Funktioniert auch wunderbar.
Ich möchte nun im weiteren Code mittels einer weiteren Abfrage auf die Funktion "float phenotype(unsigned int n) const" der Klasse GABin2DecGenome auf das Objekt genome anwenden. Dazu habe ich folgende Abfrage geschrieben:
Es wird folgender Fehler ausgegeben :
Ich denk mal, dass es daran liegt das es keine Funktion der Basisiklasse ist, oder? Wie bekomme ich das trotzdem hin? Ich dachte er berücksichtigt das garnicht, wenn die Schleife mit genometyp == 1 abgefragt wird ist das Objekt genome aus der Klasse GABin2Dec und damit die Funktion anwendbar, oder nicht?
Viele Grüße
Guddy
ich hab mal wieder ein Problem...
Ich habe aus einer Bibliothek 2 Klassen die sich jeweils aus 2 Basisklassen ableiten. Hier die Hierachie:
1. GABin2DecGenome : public GA1DBinaryStringGenome : public GABinaryStringGenome, public GAGenome
2. GARealGenome : GAReal : public GA1DArryAllelGenome : public GA1dArryGenome : public GAArray<T>, public GAGenome
Ich habe nun über eine Abfrage ein Objekt "genome" wie folgt erzeugt:
C++:
GAGenome *genome = NULL;
switch(genometyp) {
case 1 : genome = new GABin2DecGenome(map, objective); break;
case 2 : genome = new GARealGenome(alleles, objective); break;
}
Funktioniert auch wunderbar.
Ich möchte nun im weiteren Code mittels einer weiteren Abfrage auf die Funktion "float phenotype(unsigned int n) const" der Klasse GABin2DecGenome auf das Objekt genome anwenden. Dazu habe ich folgende Abfrage geschrieben:
C++:
if (genometyp ==1){
*genome = ga->population().individual(0);
cout << genome->phenotype(0);
}
Es wird folgender Fehler ausgegeben :
Code:
`phenotype' undeclared (first use this function)
Ich denk mal, dass es daran liegt das es keine Funktion der Basisiklasse ist, oder? Wie bekomme ich das trotzdem hin? Ich dachte er berücksichtigt das garnicht, wenn die Schleife mit genometyp == 1 abgefragt wird ist das Objekt genome aus der Klasse GABin2Dec und damit die Funktion anwendbar, oder nicht?
Viele Grüße
Guddy