From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- Bachelor/Prog1/examples/ch08/Fig08_04_06/Array1.h | 61 +++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 Bachelor/Prog1/examples/ch08/Fig08_04_06/Array1.h (limited to 'Bachelor/Prog1/examples/ch08/Fig08_04_06/Array1.h') diff --git a/Bachelor/Prog1/examples/ch08/Fig08_04_06/Array1.h b/Bachelor/Prog1/examples/ch08/Fig08_04_06/Array1.h new file mode 100644 index 0000000..d84bc81 --- /dev/null +++ b/Bachelor/Prog1/examples/ch08/Fig08_04_06/Array1.h @@ -0,0 +1,61 @@ +// Fig. 8.4: array1.h +// Array class for storing arrays of integers. +#ifndef ARRAY1_H +#define ARRAY1_H + +#include + +using std::ostream; +using std::istream; + +class Array { + friend ostream &operator<<( ostream &, const Array & ); + friend istream &operator>>( istream &, Array & ); + +public: + Array( int = 10 ); // default constructor + Array( const Array & ); // copy constructor + ~Array(); // destructor + int getSize() const; // return size + + // assignment operator + const Array &operator=( const Array & ); + + // equality operator + bool operator==( const Array & ) const; + + // inequality operator; returns opposite of == operator + bool operator!=( const Array &right ) const + { + return ! ( *this == right ); // invokes Array::operator== + + } // end function operator!= + + // subscript operator for non-const objects returns lvalue + int &operator[]( int ); + + // subscript operator for const objects returns rvalue + const int &operator[]( int ) const; + +private: + int size; // array size + int *ptr; // pointer to first element of array + +}; // end class Array + +#endif + +/************************************************************************** + * (C) Copyright 1992-2003 by Deitel & Associates, Inc. and Prentice * + * Hall. All Rights Reserved. * + * * + * DISCLAIMER: The authors and publisher of this book have used their * + * best efforts in preparing the book. These efforts include the * + * development, research, and testing of the theories and programs * + * to determine their effectiveness. The authors and publisher make * + * no warranty of any kind, expressed or implied, with regard to these * + * programs or to the documentation contained in these books. The authors * + * and publisher shall not be liable in any event for incidental or * + * consequential damages in connection with, or arising out of, the * + * furnishing, performance, or use of these programs. * + *************************************************************************/ \ No newline at end of file -- cgit v1.2.3