• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

przeładowany operator <<, w jego realizacji jest podawany komunikat

Object Storage Arubacloud
0 głosów
118 wizyt
pytanie zadane 22 czerwca 2022 w C i C++ przez MarekPrzywarek Nowicjusz (220 p.)

Witam Państwo! 

Napisałem chyba że połowa kodu, ale padłem na problem z przeładowanymi operatorami. Czy państwo mogą pomoc jak można to zrobić dalej i fajnie jeżeli ktoś wkrótce to opowiedziałby o przyładowanych operatorach:)

I mam pytanie jeszcze jedne, czy to jest konstruktor kopiujący? 
liczba_zespolona(liczba_zespolona, double& L) {        
double re = L.re;         double im = L.im;     }

To same zadanie:

Zamodelować klasę liczba_zespolona, która rozszerza publicznie klasę liczba. Klasa ma pola re i im typu double. Pola są prywatne. Należy dodać odpowiednie publiczne gettery i setery Klasa powinna posiadać konstruktor bezargumentowy, argumentowy oraz kopiujący. Metoda wypisz() ma podać na ekranie komunikat: Liczba zespolona: re + im*i (zamiast re i im są wyświetlane wartości pól re i im) Klasa posiada publiczną metodę moduł(), która zwraca wartość sqrt(re*re+im*im) Klasa powinna posiadać przeładowany operator <<. W jego realizacji jest podawany komunikat:

Oto liczba zespolona:
Wywołanie metody wypisz()
Wartośd modułu: wywołanie metody moduł()
Przykład:
liczba_zespolona l(1,2);
cout<<l
Oto liczba zespolona:
1+2i
Wartość modułu: 2.23606797749979

#include <iostream>
#include <string>
#include <math.h>
//kod który napisałem

using namespace std;

class liczba_zespolona
{
    liczba_zespolona();
    liczba_zespolona(double re, double im)
    {
        this -> re = re;
        this -> im = im;
    }
 /*   liczba_zespolona(liczba_zespolona, double& L)
    {
       double re = L.re;
        double im = L.im;
    }
     Czy to jest konstruktor kopiujący?
*/

private:
    double re;
    double im;

public:

    void GetReIm(double& re, double& im)
    {
        re = this -> re;
        im = this -> im;
    }
    void SetReIm(double re, double im)
    {
        this -> re = re;
        this -> im = im;
    }

    void wypisz()
    {
        cout << "Liczba zespolona:" << re << "+" << im << "*i";
    }
    double modul(double re, double im)
    {
        return sqrt(re*re+im*im);
    }
};
int main()
{
    return 0;
}

 

1 odpowiedź

+1 głos
odpowiedź 22 czerwca 2022 przez j23 Mędrzec (194,920 p.)
std::ostream& operator<< (std::ostream& os, const liczba_zespolona &l)
{
    os << "Oto liczba zespolona: \n";
    // itd.

    return os;
}

Czy to jest konstruktor kopiujący?

Nie. Tak powinno być:

liczba_zespolona(const liczba_zespolona &L)
    : re(L.re), im(L.im)
{}

Chociaż ta klasa nie potrzebuje jawnie zdefiniowanego konstruktora kopiującego. No ale jeśli taki jest wymóg...

komentarz 22 czerwca 2022 przez MarekPrzywarek Nowicjusz (220 p.)
Dziękuję Bardzo!

Podobne pytania

0 głosów
1 odpowiedź 167 wizyt
0 głosów
2 odpowiedzi 339 wizyt
pytanie zadane 9 października 2016 w C i C++ przez Shiro Stary wyjadacz (10,300 p.)
+1 głos
4 odpowiedzi 307 wizyt
pytanie zadane 9 kwietnia 2023 w JavaScript przez Dariusz Hozer Użytkownik (920 p.)

92,552 zapytań

141,399 odpowiedzi

319,534 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...