Witam mam pare pytan:
-
Dlaczego tablice nie można zainicjalizować za pomocą listy inicjalizacyjnej konstruktora ,tylko w jego ciele przypisujemy wartości ?
-
W drugim konstruktorze dlaczego tablica jest odbierana const double(&r)[3] Czyli referencja do 3 elementu tablicy ? Natomiast w main point p1(x[0]) inicjalizujemy konstruktor wierszem pierwszym tablicy wielowymiarowej ? Kompletnie nie czytelne dla mnie te zapisy
-
Dlaczego w konstruktorze przyjmującym 3 argumenty są one odbierane przez referencje ? (przecież są to tylko wartości nic większego to po co przez referencje odbierać? )
#include <iostream>
using namespace std;
class point{
double tab[3];
public:
point(){tab[0]=tab[1]=tab[2]=0;}
point(const double(&r)[3]){tab[0]=r[0];tab[1]=r[1];tab[2]=r[2];}//Nie rozumiem tego
point(const double& x,const double& y, const double & z){tab[0]=x;tab[1]=z;tab[2]=y;}
};
int main()
{
double x[2][3] = {{1.0, 1.0, 1.0},
{1.0, 2.0, 3.0}};
point p1(x[0]),p2(x[1]);
const point p3(0.4,0.2,0.1);
return 0;
}
Będę miał zamiar zrobić cały program dlatego co jakiś czas będę mieć kolejne pytania.