diff options
Diffstat (limited to 'labs/include/rcl_circuit.hpp')
-rw-r--r-- | labs/include/rcl_circuit.hpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/labs/include/rcl_circuit.hpp b/labs/include/rcl_circuit.hpp new file mode 100644 index 0000000..41e1e6d --- /dev/null +++ b/labs/include/rcl_circuit.hpp @@ -0,0 +1,36 @@ +#ifndef RCL_CIRCUIT_HPP +#define RCL_CIRCUIT_HPP + +#include <complex> + +class component { +public: + virtual std::complex<double> get_impedance(double omega) =0; + virtual ~component() {} +}; + +class resistor : public component { +public: + resistor(double r = 0); + std::complex<double> get_impedance(double omega); +private: + double resistance; +}; + +class capacitor : public component { +public: + capacitor(double c = 0); + std::complex<double> get_impedance(double omega); +private: + double capacitance; +}; + +class inductor : public component { +public: + inductor(double l = 0); + std::complex<double> get_impedance(double omega); +private: + double inductance; +}; + +#endif |