Port.h file defines three classes Port,
InputPort and OutputPort as follows.
class Port: public Named {
public:
Devs* Parent;
vector<Port*> ToP; // Successor
vector<Port*> FromP; // Predecessor
...
};
class InputPort: public Port {
...
};
class OutputPort: public Port {
...
};
Port is an abstract class derived from Named. It has
a parent pointer whose type is Devs pointer and which is
automatically assigned when we call the AddIP() and
AddOP() functions of Devs. Port has
``vector<Port*> ToP'' as a set of successors as well as
``vector<Port*> FromP'' as a set of predecessors which are
changed when we call AddCP() and RemoveCP() of
Coupled.
InputPort and OutputPort are concrete and derived
classes from Port.