// // Header.hpp // Esercitazioni_Programmazione_2 // // Created by Angelo Ciaramella on 25/04/23. // #ifndef Header_hpp #define Header_hpp #include #include #include using std::cout; using std::endl; /* class Albero { public: void stampa_Albero() { cout << "Albero" << endl; } }; class Abete : public Albero { public: void stampa_Abete() { cout << "Abete" << endl; } }; */ class Date { int d, m, y; public: Date(int dd, int mm, int yy); void show_Date(); }; class Point2D { public: Point2D(double a, double b); double X(); void setX(double value); double Y(); void setY(double value); double distanceFrom(Point2D other); private: double x; double y; }; class Shape { public: Shape(std::string lab = "shape"){label = lab;}; void setLabel(std::string lab); std::string getLabel() const { return label; }; // metodo virtuale per calcolare l'area di una forma virtual double area() const { return 0; }; private: std::string label; }; class Ellipse : public Shape { public: Ellipse(std::string lab = "ellipse"){label = lab;}; double area() const override { return 1; }; private: std::string label; }; class SETTE{ private: int Info; public: SETTE(){ Info = 7; } int GetInfo(){ return Info; } }; class UNDICI{ private: int Info; public: UNDICI(){ Info = 11; } int GetInfo() { return Info; } }; class NUOVA: public SETTE, public UNDICI { private: int Info; public: NUOVA(int n){ if (n == 1) Info = SETTE::GetInfo(); else Info = UNDICI::GetInfo(); } int GetInfo() { return Info; } }; class Parent { public: void doA() { cout << "doA in Parent" << endl; } virtual void doB() { cout << "doB in Parent" << endl; } }; class Child : public Parent { public: void doA() { cout << "doA in Child" << endl; } void doB() override { cout << "doB in Child" << endl; } }; #endif /* Header_hpp */ class Albero { public: virtual void cresce() = 0; virtual void stampa() { cout << "Albero" << endl; } }; class Pino : public Albero { public: void cresce () override { cout << "Cresce Pino" << endl; }; void stampa() override { cout << "Pino" << endl; } }; class Abete : public Albero { public: void cresce () override { cout << "Cresce Abete" << endl; }; void stampa() override { cout << "Abete" << endl; } };