Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import std;
- class Figura {
- public:
- Figura() {
- std::println("Invocato costruttore della classe madre");
- }
- auto set_spessore_tratto(int spessore) -> void {
- spessore_tratto=spessore;
- }
- auto get_spessore_tratto() -> int {return spessore_tratto;}
- private:
- std::string colore{"nero"};
- bool filled{false};
- protected:
- int spessore_tratto{1};
- };
- class Rettangolo : public Figura
- {
- public:
- Rettangolo() : Figura() {}
- Rettangolo(int base, int altezza) : base{base}, altezza{altezza} {}
- auto enfatizza() -> void {
- spessore_tratto *= 2;
- }
- auto perimetro() -> int {
- return 2 * (base+altezza);
- }
- private:
- int base{};
- int altezza{};
- };
- class Quadrato : public Rettangolo {
- public:
- Quadrato(int lato) : Rettangolo(lato, lato) {}
- };
- auto main() -> int
- {
- auto ret{Rettangolo{5, 7}};
- //auto c = ret.colore; una var private é inacessibile a un oggetto di classe figlia
- auto q{Quadrato(5)};
- std::println("Perimetro del quadrato: {}", q.perimetro());
- }
Advertisement
Add Comment
Please, Sign In to add comment