TU-Programmieren_2/exercise6/task1.hierarchy.hpp
2025-04-09 10:22:44 +02:00

27 lines
603 B
C++

/// @file
/// @brief Task1: simple hierarchy to be used in task1.main.cpp
#pragma once
#include <numbers> // std::numbers::pi
namespace task1 {
struct Interface {
double virtual area() const = 0;
virtual ~Interface() {}
};
struct Circle : Interface {
Circle(double radius) : radius(radius) {}
double radius;
double virtual area() const final override { return std::numbers::pi * radius * radius; }
};
struct Square : Interface {
Square(double length) : length(length) {}
double length;
double virtual area() const final override { return length * length; }
};
} // namespace task1