This is a plural class, the first self-designed class.
/* ComplexL. h */</p> <p> # ifndef PLURAL_H _ <br/> # define PLURAL_H _ <br/> # include <iostream> </p> <p> class complex <br/>{< br/> private: <br/> double m_r; // real number <br/> double m_u; // virtual number </p> <p> public: <br/> complex (double r = 0.0, double u = 0.0) {m_r = r; m_u = u ;}< br/> ~ Complex () {}</p> <p> // operator overloading </p> <p> complex operator + (complex & t ); <br/> complex operator-(complex & t); <br/> complex operator * (complex & t); <br/> complex operator ~ (Void); </p> <p> // friends </p> <p> friend complex operator * (double x, complex & t ); <br/> friend complex operator * (complex & t, double x); <br/> friend std: ostream & operator <(std: ostream & OS, const complex & c); <br/> friend std: istream & operator> (std: istream & is, complex & c ); </p> <p >}; </p> <p> # endif
/* ComplexL. cpp */<br/> # include <iostream> <br/> # include "Plural. h "</p> <p> // operator overloading </p> <p> complex: operator + (complex & t) <br/> {<br/> return complex (m_r + t. m_r, m_u + t. m_u); // call the constructor <br/>}</p> <p> complex: operator-(complex & t) <br/> {<br/> return complex (m_r-t. m_r, m_u-t. m_u); <br/>}</p> <p> complex: operator * (complex & t) <br/> {<br/> return complex (m_r * t. m _ R-m_u * t. m_u, m_r * t. m_u + m_u * t. m_r); <br/>}</p> <p> complex: operator ~ (Void) <br/>{< br/> return complex (m_r,-m_u ); <br/>}</p> <p> // friends </p> <p> complex operator * (double x, complex & t) <br/>{< br/> return t * complex (x); <br/>}</p> <p> std: ostream & operator <(std:: ostream & OS, const complex & c) <br/>{< br/> OS <"(" <c. m_r <"," <c. m_u <"I)/n"; <br/> return OS; <br/>}</p> <p> std: istream & operator> (std:: istream & is, complex & c) <br/>{< br/> using std: cout; <br/> cout <"real :"; <br/> if (is> c. m_r) <br/>{< br/> cout <"imaginary:"; <br/> is> c. m_u; <br/>}</p> <p> return is; // If the input is incorrect, an error mark is left. <br/>}
/* ComplexTest. cpp */</p> <p> # include <iostream> <br/> # include "Plural. h "</p> <p> using namespace std; </p> <p> int main (void) <br/>{</p> <p> complex a (3.0, 4.0); <br/> complex c; <br/> cout <"Enter a complex number (q to quit):/n"; <br/> while (cin> c) <br/>{< br/> cout <"c is" <c <'/N '; <br/> cout <"complex xonjugat is" <~ C <'/N'; <br/> cout <"a is" <a <'/N '; <br/> cout <"a + c is" <a + c <'/N '; <br/> cout <"a-c is" <a-c <'/N '; <br/> cout <"a * c is" <a * c <'/N '; <br/> cout <"2 * c is" <2 * c <'/N '; <br/> cout <"Enter a complex number (q to quit):/n"; <br/>}</p> <p> cout <"Done! /N "; <br/> return 0; <br/>}< br/>