107 lines
2.5 KiB
C++
107 lines
2.5 KiB
C++
//## begin module.cm preserve=no
|
|
|
|
// %X% %Q% %Z% %W%
|
|
|
|
//## end module.cm
|
|
|
|
|
|
|
|
//## begin module.cp preserve=no
|
|
|
|
//## end module.cp
|
|
|
|
|
|
|
|
//## Module: Node; Pseudo Package specification
|
|
|
|
//## Subsystem: figures
|
|
|
|
//## Source file: H:\kurs\avC++\lab4\Node.h
|
|
|
|
|
|
|
|
#ifndef Node_h
|
|
|
|
#define Node_h 1
|
|
|
|
|
|
|
|
//## begin module.additionalIncludes preserve=no
|
|
|
|
//## end module.additionalIncludes
|
|
|
|
|
|
|
|
//## begin module.includes preserve=yes
|
|
|
|
//## end module.includes
|
|
|
|
|
|
|
|
//## begin module.additionalDeclarations preserve=yes
|
|
|
|
//## end module.additionalDeclarations
|
|
|
|
|
|
|
|
|
|
|
|
//## Class: Node; Parameterized Class
|
|
|
|
//## Category: Figures
|
|
|
|
//## Subsystem: figures
|
|
|
|
//## Persistence: Transient
|
|
|
|
//## Cardinality/Multiplicity: n
|
|
|
|
|
|
|
|
template <class T>
|
|
|
|
class Node
|
|
|
|
{
|
|
|
|
//## begin Node.initialDeclarations preserve=yes
|
|
|
|
//## end Node.initialDeclarations
|
|
|
|
|
|
|
|
public:
|
|
|
|
//## Constructors (specified)
|
|
|
|
//## Operation: Node%938587803
|
|
|
|
Node (T _data);
|
|
|
|
|
|
|
|
//## Destructor (generated)
|
|
|
|
~Node();
|
|
|
|
|
|
|
|
|
|
|
|
//## Other Operations (specified)
|
|
|
|
//## Operation: getData%938587800
|
|
|
|
T getData ();
|
|
|
|
|
|
|
|
//## Operation: isLast%938587801
|
|
|
|
bool isLast ();
|
|
|
|
|
|
|
|
//## Operation: getNext%938587802
|
|
|
|
Node<T>* getNext ();
|
|
|
|
|
|
|
|
//## Operation: setNext%938587804
|
|
|
|
void setNext (Node<T>* newNode);
|
|
|
|
|
|
|
|
// Additional Public Declarations
|
|
|
|
//## begin Node.public preserve=yes
|
|
|
|
//## end Node.public
|
|
|
|
|
|
|
|
protected:
|
|
|
|
// Additional Protected Declarations
|
|
|
|
//## begin Node.protected preserve=yes
|
|
|
|
//## end Node.protected
|
|
|
|
|
|
|
|
private:
|
|
|
|
// Additional Private Declarations
|
|
|
|
//## begin Node.private preserve=yes
|
|
|
|
//## end Node.private
|
|
|
|
|
|
|
|
private: //## implementation
|
|
|
|
// Data Members for Has Relationships
|
|
|
|
|
|
|
|
//## Documentation Node::next.has
|
|
|
|
//## begin Node::next.has preserve=no private: Node {1 -> 1RO}
|
|
|
|
Node *next;
|
|
|
|
//## end Node::next.has
|
|
|
|
|
|
|
|
// Data Members for Class Attributes
|
|
|
|
|
|
|
|
//## Attribute: data
|
|
|
|
//## begin Node::data.attr preserve=no private: T {U}
|
|
|
|
T data;
|
|
|
|
//## end Node::data.attr
|
|
|
|
|
|
|
|
// Additional Implementation Declarations
|
|
|
|
//## begin Node.implementation preserve=yes
|
|
|
|
//## end Node.implementation
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
//## begin Node.postscript preserve=yes
|
|
|
|
#include "Node.cpp"
|
|
|
|
//## end Node.postscript
|
|
|
|
|
|
|
|
// Parameterized Class Node
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//## begin module.epilog preserve=yes
|
|
|
|
//## end module.epilog
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|