Narzędzia użytkownika

Narzędzia witryny


liczby_zespolone_complex

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Next revision
Previous revision
Next revision Both sides next revision
liczby_zespolone_complex [2008/11/09 15:09]
lromanow utworzono
liczby_zespolone_complex [2008/11/09 15:45]
lromanow
Linia 1: Linia 1:
-=== Liczby zespolone <​complex>​ ===+==== Liczby zespolone <​complex>​ ===
 + 
 + 
 + 
 +Klasa szablonowa **complex** służy do reprezentacji i manipulacji liczbami zespolonymi. Operacje zdefiniowane na liczbach zespolonych pozwalają na swobodne mieszanie obiektów tej klasy z wbudowanymi typami numerycznymi. Należy zauważyć, że większość operacji wykonywanych na obiektach tej klasy to zwykłe funkcje. Wyjątkami są metody //real()// i //imag()// należące do klasy **complex**. 
 + 
 +=== Deklaracja liczb zespolonych === 
 + 
 +Argument szablonu określa typ związany z wartościami części rzeczywistej i urojonej obiektu. Ten argument musi być jednym z trzech dostępnych typów zmiennoprzecinkowych **float**, **double** lub **long double**. 
 + 
 +Dostępne są cztery konstruktory. Konstruktor bezparametrowy inicjalizuje obie części liczby zespolonej wartością zero. Konstruktor jednoargumentowy incjalizuje wartością parametru część rzeczywistą i zeruje urojoną. Konstruktor dwuargumentowy inicjalizuje obie części liczby zespolonej. Ostatecznie,​ konstruktor kopiujący pozwala inicjalizować obiekt wartościami innego dostępnego obiektu klasy. 
 + 
 +<code cpp> 
 +   ​complex<​float>​ cplx_one; ​              // wartość 0 + 0i 
 +   ​complex<​float>​ cplx_two(3.14); ​        // wartość 3.14 + 0i 
 +   ​complex<​float>​ cplx_three(1.5,​ 3.14)   // wartość 1.5 + 3.14i 
 +   ​complex<​float>​ cplx_four(cplx_two); ​   // wartość również 3.14 + 0i 
 +</​code>​ 
 + 
 +Liczbie zespolonej **complex** można przypisać wartość innej liczby zespolonej. Ponieważ konstruktor jednoargumentowy jest również wykorzystywany jako operator konwersji, można przypisać liczbie zespolonej wartość rzeczywistą. 
 + 
 +<code cpp> 
 +   ​cplx_one = cplx_three; ​                // staje się 1.5 + 3.14i 
 +   ​cplx_three = 2.17;                     // staje się 2.17 + 0i 
 +</​code>​ 
 + 
 +Funkcja //polar()// może służyć do konstrukcji liczby zespolonej dla danego modułu i kąta. 
 + 
 +<code cpp> 
 +   ​cplx_four = polar(5.6, 1.8); 
 +</​code>​ 
 + 
 +Wartość sprzężona powstaje z użyciem funkcji //​conj()//​. 
 + 
 +<code cpp> 
 +   ​complex<​float>​ cplx_five = conj(cplx_four);​ 
 +</​code>​ 
 + 
 +=== Dostęp do wartości liczby zespolonej === 
 + 
 +Metody klasy **complex** //real()// i //imag()// zwracają wartości odpowiednio części rzeczywistej i urojonej liczby zespolonej. Funkcje te można również wywołać jako zwykłe funkcje z obiektem klasy **complex** jako argument. 
 + 
 +<code cpp> 
 +   // poniższy kod powinien dać ten sam rezulatat 
 +   cout << cplx_one.real() << "​+"​ << cplx_one.imag() << "​i"​ << endl; 
 +   cout << real(cplx_one) << "​+"​ << imag(cplx_one) << "​i"​ << endl; 
 +</​code>​ 
 + 
 + 
 + 
 +[[biblioteka_standardowa]] 
  
-The class complex is a template class, used to create objects for representing and manipulating complex numbers. The operations defined on complex numbers allow them to be freely intermixed with the other numeric types available in the C++ language, thereby permitting numeric software to be easily and naturally expressed. 
liczby_zespolone_complex.txt · ostatnio zmienione: 2008/11/10 18:31 przez lromanow