#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