lunedì 1 settembre 2014

Classe astratta (virtuale) in C++ con metodo non virtuale.

E adesso, come ho già fatto per il C#, creo una classe virtuale (astratta) in C++ con un metodo non virtuale:
#include "iostream"
using namespace std;

class Figura{
protected:
 int lato;
public:
 Figura(int L){
  lato=L;
 }

 void dichiara(){
  cout << "Questa e' una figura" << endl;
  getchar();
 }
 virtual int Area()=0;

 virtual void stampaArea()=0;
};

class Quadrato: public Figura{
public:
 Quadrato(int L):Figura(L){}
 int Area(){
  return lato*lato;
 }
 void stampaArea(){
  cout << lato*lato << endl;
  getchar();
 }
};

void main(){
 Quadrato mioQuadrato(5);
 cout << mioQuadrato.Area() << endl;
 getchar();
 mioQuadrato.stampaArea();
 mioQuadrato.dichiara();
}
25

25

Questa e' una figura


7

Nessun commento:

Posta un commento