#include "iostream"
using namespace std;
class Figura{
protected:
int lato;
public:
Figura(int L){
lato=L;
}
virtual int Area()=0;
virtual void stampaArea(){
cout << lato*lato << endl;
getchar();
}
};
class Quadrato: public Figura{
public:
Quadrato(int L):Figura(L){}
int Area(){
return lato * lato;
}
};
void main(){
Quadrato mioQuadrato(5);
cout << mioQuadrato.Area() << endl;
getchar();
mioQuadrato.stampaArea();
}
E' sufficiente che una classe abbia una funzione virtuale pura (ossia eguagliata a zero) per essere classe astratta.
Diversamente dalla sintassi del C# una funzione virtuale pura (che in C# si chiama astratta) non può essere dichiarata se non eguagliata a zero, mentre in C# viene dichiarata con la stessa forma in cui in C++ si dichiara il prototipo.
Nessun commento:
Posta un commento