#include "iostream" using namespace std; class Poligono{ protected: int base,altezza; }; class Rettangolo:public Poligono{ public: Rettangolo(int b,int a){ base=b; altezza=a; } int area(){ return base*altezza; } }; class Triangolo:public Poligono{ public: Triangolo(int b, int a){ base=b; altezza=a; } int area(){ return base*altezza/2; } }; void main(){ Rettangolo mioRettangolo(3,4); cout << mioRettangolo.area() <<endl; Triangolo mioTriangolo(3,4); cout << mioTriangolo.area() << endl; getchar(); }Ho dovuto mettere protected i due membri base e altezza, altrimenti non sarebbero stati visti dalle classi derivate.
Ho dovuto creare per ogni classe derivata il suo costruttore, che non viene ereditato.
Per ogni classe derivata ho dovuto reintrodurre il metodo area(), con una sintassi diversa a seconda della figura geometrica.
Nessun commento:
Posta un commento