Initial circuit.
This commit is contained in:
parent
ab3ffc77dc
commit
1dfbcc61c4
1 changed files with 40 additions and 1 deletions
|
@ -3,19 +3,58 @@
|
|||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
class Terminal
|
||||
class CircuitElement
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
class Terminal : public CircuitElement
|
||||
{
|
||||
public:
|
||||
enum class Type
|
||||
{
|
||||
INPUT,
|
||||
OUTPUT
|
||||
};
|
||||
|
||||
Terminal(Type type)
|
||||
: mType(type)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private:
|
||||
double mValue{0};
|
||||
Type mType;
|
||||
};
|
||||
|
||||
class Wire
|
||||
{
|
||||
public:
|
||||
Wire(CircuitElement* input, CircuitElement* output)
|
||||
: mInput(input),
|
||||
mOutput(output)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private:
|
||||
CircuitElement* mInput{nullptr};
|
||||
CircuitElement* mOutput{nullptr};
|
||||
};
|
||||
|
||||
class LogicGate
|
||||
{
|
||||
public:
|
||||
enum class Type
|
||||
{
|
||||
NOT,
|
||||
AND,
|
||||
OR,
|
||||
XOR,
|
||||
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
class ElectronicCircuit
|
||||
|
|
Loading…
Reference in a new issue