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

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
liczby_zespolone_complex [2008/11/09 15:18]
lromanow
liczby_zespolone_complex [2008/11/09 16:31]
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**. 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**.
  
-== xxx ==+=== 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]]
  
-====== Nagłówek 1 stopnia ====== 
  
liczby_zespolone_complex.txt · ostatnio zmienione: 2008/11/10 18:31 przez lromanow