metoda która wyświetla wartości składowe wektora

0

Witam,
mam takie zadanie:

Dane jest klasa Wektor3d:

   class Wektor3d 
{
      double x,y,z;
   public:
      Wektor3d(); // wszystkie składowe mają wartość 0
      Wektor3d(double, double, double);
};

Uzupełnij klasę o metodę wypisz, która wyświetla wartości składowych wektora w postaci:
[x, y, z],
gdzie zamiast x,y,z wstawione są wartości składowych.

Zrobiłem to tak:

#include <iostream>
using namespace std;

    class Wektor3d
    {
        double x,y,z;
    public:
        Wektor3d(); // wszystkie skladowe maja wartosc = 0
        Wektor3d(double, double, double);
        void wypisz(double a, double b, double c);
    };

    Wektor3d::Wektor3d () {x=y=z=0;}
    Wektor3d::Wektor3d (double x, double y, double z) {}

    void Wektor3d::wypisz (double a, double b, double c)
    {
        cout << '[' << a << ", " << b << ", " << c << ']' << ",";
    }

int main()
{
    Wektor3d nwek;
    nwek.wypisz(1,2,3);

return 0;
}

Proszę o info, czy to o to chodziło, czy dobrze to zrobiłem?

1

Nie, wypisz() ma być bez parametrów.

0

A teraz?
Czy teraz jest poprawnie?

#include <iostream>
using namespace std;

    class Wektor3d
    {
        double x,y,z;
    public:
        Wektor3d(); // wszystkie skladowe maja wartosc = 0
        Wektor3d(double, double, double);
        void wypisz();
    };

    Wektor3d::Wektor3d () {x=y=z=0;}
    Wektor3d::Wektor3d (double a, double b, double c)
    {
        x=a;
        y=b;
        z=c;
    }

    void Wektor3d::wypisz ()
    {
        cout << '[' << x << ", " << y << ", " << z << ']' << ",";
    }

int main()
{
    Wektor3d nwek(1,2,3);
    nwek.wypisz();

return 0;
}
 
1

Da się zapisać trzy razy bardziej zwięźle błędów zaś nie widzę.

1
struct Wektor3d
{
    double x,y,z;
}

ostream& operator << (ostream &out, const Wektor3d &w)
{
    return out << '[' << w.x << ", " << w.y << ", " << w.z << ']' << ",";
}
 
int main()
{
    Wektor3d nwek {1,2,3};
    cout << nwek;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1