Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- export module geometry_single;
- import <numbers>; //per pi greco
- export class Rettangolo {
- public:
- Rettangolo(double base, double altezza);
- [[nodiscard]] double perimetro() const noexcept;
- [[nodiscard]] double area() const noexcept;
- private:
- double base{ 0.0 };
- double altezza{ 0.0 };
- };
- export class Cerchio {
- public:
- constexpr explicit Cerchio(double raggio);
- [[nodiscard]] double perimetro() const noexcept;
- [[nodiscard]] double area() const noexcept;
- private:
- double raggio{ 0.0 };
- };
- Rettangolo::Rettangolo(double base, double altezza)
- : base(base), altezza(altezza) {}
- double Rettangolo::perimetro() const noexcept {
- return 2.0 * (base + altezza);
- }
- double Rettangolo::area() const noexcept {
- return base * altezza;
- }
- constexpr Cerchio::Cerchio(double raggio)
- : raggio(raggio) {}
- double Cerchio::perimetro() const noexcept {
- return 2.0 * std::numbers::pi * raggio;
- }
- double Cerchio::area() const noexcept {
- return std::numbers::pi * raggio * raggio;
- }
Advertisement
Add Comment
Please, Sign In to add comment