Initial Course

This commit is contained in:
David Gil de Gómez Pérez
2026-08-11 17:40:36 +03:00
commit 9aed1d1d86
202 changed files with 3420 additions and 0 deletions
@@ -0,0 +1,35 @@
#pragma once
#include <string>
namespace oop {
class Shape {
public:
virtual ~Shape() = default;
[[nodiscard]] virtual auto name() const -> std::string = 0;
[[nodiscard]] virtual auto area() const -> double = 0;
};
class Circle : public Shape {
public:
explicit Circle(double radius);
[[nodiscard]] auto name() const -> std::string override;
[[nodiscard]] auto area() const -> double override;
private:
double radius_;
};
class Rectangle : public Shape {
public:
Rectangle(double width, double height);
[[nodiscard]] auto name() const -> std::string override;
[[nodiscard]] auto area() const -> double override;
private:
double width_;
double height_;
};
} // namespace oop