📄 com_8038.htm
字号:
<HTML><TITLE>complex</TITLE><BODY>
<A HREF="ref.htm"><IMG SRC="images/banner.gif"></A>
<P><STRONG>Click on the banner to return to the Class Reference home page.</STRONG></P>
<P>©Copyright 1996 Rogue Wave Software</P>
<H2>complex</H2>
<HR><PRE> Complex Number Library<B><I> </B></I>
</PRE><HR>
<A NAME="Summary"><H3>Summary</H3></A>
<P>C++ complex number library</P>
<H3>Contents</H3>
<UL>
<A HREF="#Specializations"><LI>Specializations</LI></A>
<A HREF="#Synopsis"><LI>Synopsis</LI></A>
<A HREF="#Description"><LI>Description</LI></A>
<A HREF="#Interface"><LI>Interface</LI></A>
<A HREF="#Constructors"><LI>Constructors</LI></A>
<A HREF="#Assignment Operators"><LI>Assignment Operators</LI></A>
<A HREF="#Member Functions"><LI>Member Functions</LI></A>
<A HREF="#Non-member Operators"><LI>Non-member Operators</LI></A>
<A HREF="#Non-member Functions"><LI>Non-member Functions</LI></A>
<A HREF="#Example"><LI>Example</LI></A>
<A HREF="#Warnings"><LI>Warnings</LI></A>
</UL>
<A NAME="Specializations"><H3>Specializations</H3></A>
<PRE>complex <float></PRE>
<PRE>complex <double>
complex <long double></PRE>
<A NAME="Synopsis"><H3>Synopsis</H3></A>
<PRE>#include <complex></PRE>
<PRE>
template <class T>
class complex ;</PRE>
<A NAME="Description"><H3>Description</H3></A>
<P><B><I>complex<T></B></I> is a class that supports complex numbers. A complex number has a real part and an imaginary part. The <B><I>complex</B></I> class supports equality, comparison and basic arithmetic operations. In addition, mathematical functions such as exponentiation, logarithmic, power, and square root are also available.</P>
<A NAME="Interface"><H3>Interface</H3></A>
<PRE>template <class T></PRE>
<PRE>class complex {
public:
complex (T = 0 , T = 0);
template <class X> complex
(const complex<X>&);
T real () const;
T imag () const;
template <class X>
complex<T>& operator= (const complex<X>&);
template <class X>
complex<T>& operator+= (const complex<X>&);
template <class X>
complex<T>& operator-= (const complex<X>&);
template <class X>
complex<T>& operator*= (const complex<X>&);
template <class X>
complex<T>& operator/= (const complex<X>&);
};
// Non-member Operators
template<class T>
complex<T> operator+ (const complex<T>&, const complex<T>&);
template<class T>
complex<T> operator+ (const complex<T>&, T);
template<class T>
complex<T> operator+ (T, const complex<T>&);
template<class T>
complex<T> operator- (const complex<T>&, const complex<T>&);
template<class T>
complex<T> operator- (const complex<T>&, T);
template<classT>
complex<T> operator- (T, const complex<T>&);
template<class T>
complex<T> operator* (const complex<T>&, const complex<T>&);
template<class T>
complex<T> operator* (const complex<T>&, T);
template<class T>
complex<T> operator* (T, const complex<T>&);
template<class T>
complex<T> operator/ (const complex<T>&, const complex<T>&);
template<class T>
complex<T> operator/ (const complex<T>&, T);
template<class T>
complex<T> operator/ (T, const complex<T>&);
template<class T>
complex<T> operator+ (const complex<T>&);
template<class T>
complex<T> operator- (const complex<T>&);
template<class T>
bool operator== (const complex<T>&, const complex<T>&);
template<class T>
bool operator== (const complex<T>&, T);
template<class T>
bool operator== (T, const complex<T>&);
template<class T>
bool operator!= (const complex<T>&, const complex<T>&);
template<class T>
bool operator!= (const complex<T>&, T);
template<class T>
bool operator!= (T, const complex<T>&);
template <class X>
istream& operator>> (istream&, complex<X>&);
template <class X>
ostream& operator<< (ostream&, const complex<X>&);
// Values
template<class T> T real (const complex<T>&);
template<class T> T imag (const complex<T>&);
template<class T> T abs (const complex<T>&);
template<class T> T arg (const complex<T>&);
template<class T> T norm (const complex<T>&);
template<class T> complex<T> conj (const complex<T>&);
template<class T> complex<T> polar (T, T);
// Transcendentals
template<class T> complex<T> acos (const complex<T>&);
template<class T> complex<T> asin (const complex<T>&);
template<class T> complex<T> atan (const complex<T>&);
template<class T> complex<T> atan2 (const complex<T>&,
const complex<T>&);
template<class T> complex<T> atan2 (const complex<T>&, T);
template<class T> complex<T> atan2 (T, const complex<T>&);
template<class T> complex<T> cos (const complex<T>&);
template<class T> complex<T> cosh (const complex<T>&);
template<class T> complex<T> exp (const complex<T>&);
template<class T> complex<T> log (const complex<T>&);
template<class T> complex<T> log10 (const complex<T>&);
template<class T> complex<T> pow (const complex<T>&, int);
template<class T> complex<T> pow (const complex<T>&, T);
template<class T> complex<T> pow (const complex<T>&,
const complex<T>&);
template<class T> complex<T> pow (T, const complex<T>&);
template<class T> complex<T> sin (const complex<T>&);
template<class T> complex<T> sinh (const complex<T>&);
template<class T> complex<T> sqrt (const complex<T>&);
template<class T> complex<T> tan (const complex<T>&);
template<class T> complex<T> tanh (const complex<T>&);
</PRE>
<A NAME="Constructors"><H3>Constructors</H3></A>
<PRE><B>complex</B>
(const T& re_arg = 0, const T& im_arg = 0);</PRE>
<UL><P>Constructs an object of class <B><I>complex</B></I>, initializing <SAMP>re_arg</SAMP> to the real part and <SAMP>im_arg</SAMP> to the imaginary part.</P>
</UL>
<PRE><B>template <class X> complex</B>
(const complex<X>&);</PRE>
<UL><P>Copy constructor. Constructs a complex number from another complex number.</P>
</UL>
<A NAME="Assignment Operators"><H3>Assignment Operators</H3></A>
<PRE>template <class X>
complex<T>
<B>operator= </B>(const complex<X>& c);</PRE>
<UL><P>Assigns <SAMP>c</SAMP> to itself.</P>
</UL>
<PRE>template <class X>
complex<T>
<B>operator+=</B> (const complex<X>& c);</PRE>
<UL><P>Adds <SAMP>c</SAMP> to itself, then returns the result.</P>
</UL>
<PRE>template <class X>
complex<T>
<B>operator</B>-<B>=</B> (const complex<X>& c);</PRE>
<UL><P>Subtracts <SAMP>c</SAMP> from itself, then returns the result.</P>
</UL>
<PRE>template <class X>
complex<T>
<B>operator*= </B>(const complex<X>& c);</PRE>
<UL><P>Multiplies itelf by <SAMP>c</SAMP> then returns the result.</P>
</UL>
<PRE>template <class X>
complex<T>
<B>operator/= </B>(const complex<X>& c);</PRE>
<UL><P>Divides itself by <SAMP>c</SAMP>, then returns the result.</P>
</UL>
<A NAME="Member Functions"><H3>Member Functions</H3></A>
<PRE>T
<B>imag</B>() const;</PRE>
<UL><P>Returns the imaginary part of the complex number.</P>
</UL>
<PRE>T
<B>real</B>() const;</PRE>
<UL><P>Returns the real part of the complex number.</P>
</UL>
<A NAME="Non-member Operators"><H3>Non-member Operators</H3></A>
<PRE>template<class T> complex<T>
<B>operator+</B> (const complex<T>& lhs,const complex<T>& rhs);
template<class T> complex<T>
<B>operator+</B> (const complex<T>& lhs, T rhs);
template<class T> complex<T>
<B>operator+</B> (T lhs, const complex<T>& rhs);</PRE>
<UL><P>Returns the sum of <SAMP>lhs</SAMP> and <SAMP>rhs</SAMP>.</P>
</UL>
<PRE>template<class T> complex<T>
<B>operator-</B> (const complex<T>& lhs,const complex<T>& rhs);
template<class T> complex<T>
<B>operator-</B> (const complex<T>& lhs, T rhs);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -