Witam. Mam kilka pytań dotyczących przeciążenia operatorów i konwersji typów. Może są one banalne, ale wasza odpowiedź może mi naprawdę pomóc w dalszej nauce.
- Co obsługuje ten fragment kodu:
class Counter
{
...
}
Counter i;
Counter a=i; //chodzi o ta linijke
operator przypisania (=) czy konstruktor kopiujący?
2.Chciałbym wiedzieć jak wygląda krok po kroku ten proces:
class Counter
{
int itsVal;
public:
Counter():itsVal(0) {}
Counter(int x):itsVal(x) {}
~Counter;
}
int main()
{
Counter i;
i=10;// chodzi o ta linijke
return 0;
}
Wydaje mi ze zachodzi konwersja poprzez wywołanie konstruktora z jednym argumentem typu int, który tworzy tymczasowy obiekt a następnie ten tymczasowy obiekt jest przypisywany obiektowi i. Dobrze to rozumiem?