// @topic T060m10d25x10 class DString -- using dynamic array of characters // @brief class DString declaration // DString.h #ifndef DSTRING_H_INCLUDED #define DSTRING_H_INCLUDED #include <iostream> class DString { // friends of this class have access to all private members of this class: friend std::ostream& operator<<(std::ostream& cout, DString const& str); friend std::istream& operator>>(std::istream& cin, DString& str); // data members static const size_t INITIAL_CAPACITY = 1; char* m_array; size_t m_length; // logical length of the string size_t m_capacity; // current capacity of the object public: // constructors DString(); DString( char const* pstr ); // operations size_t length() const; size_t capacity() const; void allocate( size_t capacity ); };//class DString // free functions that supplement DString: std::ostream& operator<<( std::ostream& cout, DString const& str ); std::istream& operator>>(std::istream& cin, DString& str); #endif //DSTRING_H_INCLUDED