Sono quasi sicuro al 100% ho il diritto di sintassi in entrambe le classi, ma sto ottenendo i seguenti errori:classi in più file in C++
Per CShape.cpp - "Errore C2011: ' CShape': 'classe' di tipo ridefinizione" per CCircle.cpp - "errore CS2504: 'CShape': classe di base non definita"
Ecco il codice completo per CShape.cpp
#include <iostream>
using namespace std;
class CShape
{
protected:
float area;
virtual void calcArea();
public:
float getArea()
{
return area;
}
}
Ed è qui il codice per CCircle.cpp
Come si può vedere, CShape è la classe base di cui CCircle è stata ereditata. Sono abbastanza nuovo di C++, quindi potrei avere la struttura dei file sbagliata (forse la base dovrebbe essere in un file di intestazione?), Se qualcosa del genere è importante.
L'intestazione per il file di intestazione è assente? Che ne dici di mettere '#pragma once' all'inizio di' CShape.h'? A proposito, 'using namespace ...;' è un cattivo odore per i file header. –
Hai dimenticato il punto e virgola alla fine delle definizioni di classe. –
@KerrekSB, sì, non è C# o Java! –