#pragma once #include #include class CircuitElement { public: enum class Type { INPUT_TERMINAL, OUTPUT_TERMINAL, WIRE, LOGIC_GATE, FANOUT, UNKNOWN }; virtual ~CircuitElement() = default; virtual CircuitElement::Type getType() const = 0; };