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 --- .../Prog1/examples/ch08/Fig08_15_17/Complex1.cpp | 54 ++++++++++++++++++++ .../Prog1/examples/ch08/Fig08_15_17/Complex1.h | 35 +++++++++++++ .../Prog1/examples/ch08/Fig08_15_17/Fig08_17.cpp | 57 ++++++++++++++++++++++ 3 files changed, 146 insertions(+) create mode 100644 Bachelor/Prog1/examples/ch08/Fig08_15_17/Complex1.cpp create mode 100644 Bachelor/Prog1/examples/ch08/Fig08_15_17/Complex1.h create mode 100644 Bachelor/Prog1/examples/ch08/Fig08_15_17/Fig08_17.cpp (limited to 'Bachelor/Prog1/examples/ch08/Fig08_15_17') diff --git a/Bachelor/Prog1/examples/ch08/Fig08_15_17/Complex1.cpp b/Bachelor/Prog1/examples/ch08/Fig08_15_17/Complex1.cpp new file mode 100644 index 0000000..130d39e --- /dev/null +++ b/Bachelor/Prog1/examples/ch08/Fig08_15_17/Complex1.cpp @@ -0,0 +1,54 @@ +// Fig. 8.16: complex1.cpp +// Complex class member function definitions. +#include + +using std::cout; + +#include "complex1.h" // Complex class definition + +// Constructor +Complex::Complex( double realPart, double imaginaryPart ) + : real( realPart ), + imaginary( imaginaryPart ) +{ + // empty body + +} // end Complex constructor + +// addition operator +Complex Complex::operator+( const Complex &operand2 ) const +{ + return Complex( real + operand2.real, + imaginary + operand2.imaginary ); + +} // end function operator+ + +// subtraction operator +Complex Complex::operator-( const Complex &operand2 ) const +{ + return Complex( real - operand2.real, + imaginary - operand2.imaginary ); + +} // end function operator- + +// display a Complex object in the form: (a, b) +void Complex::print() const +{ + cout << '(' << real << ", " << imaginary << ')'; + +} // end function print + +/************************************************************************** + * (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 diff --git a/Bachelor/Prog1/examples/ch08/Fig08_15_17/Complex1.h b/Bachelor/Prog1/examples/ch08/Fig08_15_17/Complex1.h new file mode 100644 index 0000000..934f2f2 --- /dev/null +++ b/Bachelor/Prog1/examples/ch08/Fig08_15_17/Complex1.h @@ -0,0 +1,35 @@ +// Fig. 8.15: complex1.h +// Complex class definition. +#ifndef COMPLEX1_H +#define COMPLEX1_H + +class Complex { + +public: + Complex( double = 0.0, double = 0.0 ); // constructor + Complex operator+( const Complex & ) const; // addition + Complex operator-( const Complex & ) const; // subtraction + void print() const; // output + +private: + double real; // real part + double imaginary; // imaginary part + +}; // end class Complex + +#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. * + *************************************************************************/ diff --git a/Bachelor/Prog1/examples/ch08/Fig08_15_17/Fig08_17.cpp b/Bachelor/Prog1/examples/ch08/Fig08_15_17/Fig08_17.cpp new file mode 100644 index 0000000..d98f9bb --- /dev/null +++ b/Bachelor/Prog1/examples/ch08/Fig08_15_17/Fig08_17.cpp @@ -0,0 +1,57 @@ +// Fig. 8.17: fig08_17.cpp +// Complex class test program. +#include + +using std::cout; +using std::endl; + +#include "complex1.h" + +int main() +{ + Complex x; + Complex y( 4.3, 8.2 ); + Complex z( 3.3, 1.1 ); + + cout << "x: "; + x.print(); + cout << "\ny: "; + y.print(); + cout << "\nz: "; + z.print(); + + x = y + z; + cout << "\n\nx = y + z:\n"; + x.print(); + cout << " = "; + y.print(); + cout << " + "; + z.print(); + + x = y - z; + cout << "\n\nx = y - z:\n"; + x.print(); + cout << " = "; + y.print(); + cout << " - "; + z.print(); + cout << endl; + + return 0; + +} // end main + +/************************************************************************** + * (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. * + *************************************************************************/ -- cgit v1.2.3