// Author: Keith A. Shomper // Date: 11/17/03 // Purpose: To demonstrate a class #include using namespace std; class complex_number { public: // NOTE: No defintions for copy constructor, assignment operator or a // destructor. The default (i.e., compiler supplied) versions of these // are acceptable. complex_number() : r(0.0), i(0.0) {} // default constructor: inline complex_number(float real) : r(real), i(0.0) {}// convert constructor: inline complex_number(float real, float imag); // two value constructor float real(); float imag(); friend complex_number operator+ (const complex_number &a, const complex_number &b); friend complex_number operator- (const complex_number &a, const complex_number &b); friend complex_number operator* (const complex_number &a, const complex_number &b); friend complex_number operator/ (const complex_number &a, const complex_number &b); friend bool operator== (const complex_number &a, const complex_number &b); friend bool operator!= (const complex_number &a, const complex_number &b); friend istream& operator>> (istream &in, complex_number &a); friend ostream& operator<< (ostream &out, const complex_number &a); private: float r; float i; };