cannot declare variable to be abstract type
Verfasst: Mo Mai 17, 2010 9:54 pm
Hallo,
Ich bin ein neuling in Sachen c++ und komme durch eine Fehlermeldung nicht weiter.
die Fehlermeldung heißt : cannot declare variable to be abstract type
Diese Fehlermeldung taucht 9 mal auf ,da ich 9 objekte erzeugt habe.
Die erste und Gleichzeitig Basisklasse ist Flaeche von der leite ich Ring,kreis,schablone,Rechteck,und Quadrat.
Dannach rechne ich von jedem Objekt den Umfang und die Fläche.
main.cpp
Ich zeige nur eine .h und .cpp Dateien weil es eigentlich immer, der gleiche Fehler ist.
Bitte um hilfe und danke im voraus
Ich bin ein neuling in Sachen c++ und komme durch eine Fehlermeldung nicht weiter.

die Fehlermeldung heißt : cannot declare variable to be abstract type
Diese Fehlermeldung taucht 9 mal auf ,da ich 9 objekte erzeugt habe.
Die erste und Gleichzeitig Basisklasse ist Flaeche von der leite ich Ring,kreis,schablone,Rechteck,und Quadrat.
Dannach rechne ich von jedem Objekt den Umfang und die Fläche.
main.cpp
Code: Alles auswählen
#include <iostream>
using namespace std;
#include "beispiel51.h"
#include "beispiel52.h"
#include "beispiel53.h"
#include "beispiel54.h"
#include "beispiel55.h"
#include "beispiel60.h"
int main(){
Flaeche *liste[9];
int index = 0;
float sum_Umfang = 0;
Ring blau_ring("BLAU",5,2);
Kreis gelb_kreis("GELB",7);
Rechteck gruen_rechteck("GRUEN",5,6);
Kreis rot_kreis("ROT",8);
Schablone weiss_schablone("WEISS",20,6,3);
Rechteck schwarz_recheck("SCHWARZ",10,20);
Schablone blau_schablone("BLAU",30,5,5);
Ring lila_ring("LILA",100,5);
Quadrat rosa_q("ROSA",5);
liste[0] = &blau_ring;
liste[1] = &gelb_kreis;
liste[2] = &gruen_rechteck;
liste[3] = &rot_kreis;
liste[4] = &weiss_schablone;
liste[5] = &schwarz_recheck;
liste[6] = &blau_schablone;
liste[7] = &lila_ring;
liste[8] = &rosa_q;
while (index <= 8){
(liste[index])->getFarbe();
sum_Umfang += (liste[index++])->berechneUmfang();
}
cout << "\nDie Gesamtflaeche betreagt "
<< sum_Umfang<< "Einheiten";
return 0;
}
Ich zeige nur eine .h und .cpp Dateien weil es eigentlich immer, der gleiche Fehler ist.
Code: Alles auswählen
/ bspl0053.h
#ifndef _RING_
#define _RING_
#include "beispiel52.h"
class Ring : public Kreis
{
public:
Ring(char *n, float aussen, float innen);
~Ring();
float berechneFlaeche() const;
int berechneUmfang(float dd2,float ppi = 3.14);
private:
float innenradius;
};
#endif
Code: Alles auswählen
/ bspl0053.cpp
#include "beispiel53.h"
Ring::Ring(char *n, float aussen, float innen)
:Flaeche(n),Kreis(n, aussen)
{
innenradius=innen;
}
int Ring::berechneUmfang(float dd2,float ppi ){
dd2*=ppi;
umfang = dd2;
return umfang;
}
Ring::~Ring()
{
}
float Ring::berechneFlaeche() const
{
return (Kreis::berechneFlaeche()-
(innenradius*innenradius*3.141593F));
}