Составление совокупности диаграмм классов, автоматическая генерация прототипа кода разработанных классов, страница 7

      och* pred;

      //## end och::pred%43B0D12102DE.attr

      //## begin och::elem%43B0D12103D8.attr preserve=no  protected: type* {U}

      type* elem;

      //## end och::elem%43B0D12103D8.attr

};

// Class och

//## Get and Set Operations for Class Attributes (inline)

inline const och* och::get_next () const

{

  //## begin och::get_next%43B0D1210203.get preserve=no

  return next;

  //## end och::get_next%43B0D1210203.get

}

inline void och::set_next (och* value)

{

  //## begin och::set_next%43B0D1210203.set preserve=no

  next = value;

  //## end och::set_next%43B0D1210203.set

}

inline const och* och::get_pred () const

{

  //## begin och::get_pred%43B0D12102DE.get preserve=no

  return pred;

  //## end och::get_pred%43B0D12102DE.get

}

inline void och::set_pred (och* value)

{

  //## begin och::set_pred%43B0D12102DE.set preserve=no

  pred = value;

  //## end och::set_pred%43B0D12102DE.set

}

inline const type* och::get_elem () const

{

  //## begin och::get_elem%43B0D12103D8.get preserve=no

  return elem;

  //## end och::get_elem%43B0D12103D8.get

}

inline void och::set_elem (type* value)

{

  //## begin och::set_elem%43B0D12103D8.set preserve=no

  elem = value;

  //## end och::set_elem%43B0D12103D8.set

}

//## begin module%43B0D110034B.epilog preserve=yes

//## end module%43B0D110034B.epilog

#endif

//## Module: Container%43A68EEF0323; Pseudo Package specification

//## Subsystem: <Top Level>

//## Source file: C:\Program Files\Rational\Rose\C++\source\Container.h

#ifndef Container_h

#define Container_h 1

//## Class: Container%43A68EEF0323; implementation; Parameterized Class

//            *********************************************************

//          *******************************

//## Category: oop%43A68EEF029F

//## Subsystem: <Top Level>

//## Persistence: Transient

//## Cardinality/Multiplicity: n

template <class TC>

class Container

{

  public:

    //## Constructors (generated)

      Container(const Container< TC > &right);

    //## Constructors (specified)

      //## Operation: Container%1DC8CCAFFEED; C++

      Container ();

    //## Destructor (specified)

      //## Operation: ~Container%2DE3CF19FEED; C++

      ~Container ();

    //## Assignment Operation (generated)

      Container< TC > & operator=(const Container< TC > &right);

    //## Equality Operations (generated)

      int operator==(const Container< TC > &right) const;

      int operator!=(const Container< TC > &right) const;

    //## Other Operations (specified)

      //## Operation: Add%39B59A9AFEED; C++

      void Add (TC* C);

      //## Operation: Testempty%E875D4C1FEED; C++

      int Testempty ();

      //## Operation: Find%A7463BA9FEED; C++

      int Find (char* name);

      //## Operation: Del%1AABCBD8FEED; C++

      void Del (char* name);

      //## Operation: Print1%DB1C1A2FFEED; C++

      void Print1 ();

      //## Operation: Print2%51DFF4A6FEED; C++

      void Print2 ();

  protected:

  private:

      const Container< TC  > * const& get_head () const;

      Container< TC  > *head;

};

// Parameterized Class Container

template <class TC>

inline Container<TC>::Container ()

  //## begin Container::Container%1DC8CCAFFEED.hasinit preserve=no

  //## end Container::Container%1DC8CCAFFEED.hasinit

  //## begin Container::Container%1DC8CCAFFEED.initialization preserve=yes

  //## end Container::Container%1DC8CCAFFEED.initialization

{

  //## begin Container::Container%1DC8CCAFFEED.body preserve=yes

  //## end Container::Container%1DC8CCAFFEED.body

}

//## Get and Set Operations for Associations (inline)

template <class TC>

inline const Container< TC  > * const& Container<TC>::get_head () const

{

  //## begin Container::get_head%43A68EEF032B.get preserve=no

  return head;

  //## end Container::get_head%43A68EEF032B.get

}

//## begin module%43A68EEF0323.epilog preserve=yes

//## end module%43A68EEF0323.epilog

#endif