Witam, mam 3 pytania odnośnie konwersji:
(A, B, C to różne typy)
- Dane są konwersje zdefiniowane przez użytkownika: A -> B, B -> C. Czy istnieje niejawna konwersja A -> C?
- Dana jest konwersja A -> float. Czy istnieje konwersja A -> int?
- Dane są konwersje: A -> float, A -> int, A -> char. Czy poprawna jest instrukcja:
cout << a << endl;
gdzie a jest obiektem klasy A?
Moje odpowiedzi:
- Tylko i wyłącznie, kiedy chociaż jeden element (A/B/C) jest typem wbudowanym (np. int). (Lub) tak, specyfikując jawnie pierwszą konwersję, niejawnie zajdzie już tylko jedna.
- Istnieje, ale tylko poprzez rzutowanie. (?)
- Nie jest poprawna, kompilator nie będzie wiedział z której konwersji skorzystać
Czy moje odpowiedzi są poprawne? Pozdrawiam