Buon giorno a tutti, mentre stavo facendo un esercizio sulle classe derivate mi imbatto in questo errore (Guardare foto allegata). Vi lascio qui il codice
#include <iostream>
#define pi 3.14
using namespace std;
class figura
{
protected:
double perimetro;
double area;
public:
virtual void calcolo_perimetro();
virtual void calcolo_area();
void scelta_opzione();
};
class cerchio : public figura //Area e perimetro cerchio
{
public:
virtual void calcolo_perimetro();
virtual void calcolo_area();
double raggio;
};
class quadrato : public figura
{
public:
virtual void calcolo_perimetro();
virtual void calcolo_area();
int lato;
};
void figura::scelta_opzione()
{
cerchio c;
int scelta;
cout << "Quale figura ti serve? Inserisci un numero" << endl;
switch (scelta)
{
case 1: //Cerchio
cout << "Inserisci il raggio della circonferenza: "; cin >> c.raggio;
c.calcolo_perimetro();
c.calcolo_area();
}
}
void cerchio::calcolo_area()
{
cerchio p;
p.area = (double)p.raggio * (double)p.raggio * pi;
cout << "L'area della circonferenza e': " << p.area << endl;
}
void cerchio::calcolo_perimetro()
{
cerchio p;
p.perimetro = 2 * pi * p.raggio;
cout << "Il perimetro della circonferenza e': " << p.perimetro << endl;
}
void quadrato::calcolo_area()
{
quadrato p;
p.perimetro = p.lato * 4;
}
void quadrato::calcolo_perimetro()
{
area = lato * lato;
}
int main()
{
figura p;
p.scelta_opzione();
}
EDIT: Il problema è questo "C:\Users\Angelo\AppData\Local\Temp\cc4pTGWC.o Esercizio 13.3.cpp:(.rdata$.refptr._ZTV6figura[.refptr._ZTV6figura]+0x0): undefined reference to `vtable for figura'"
Allegati: