Trzy pytania dotyczące konwersji typów

0

Witam, mam 3 pytania odnośnie konwersji:
(A, B, C to różne typy)

  1. Dane są konwersje zdefiniowane przez użytkownika: A -> B, B -> C. Czy istnieje niejawna konwersja A -> C?
  2. Dana jest konwersja A -> float. Czy istnieje konwersja A -> int?
  3. Dane są konwersje: A -> float, A -> int, A -> char. Czy poprawna jest instrukcja: cout << a << endl;
    gdzie a jest obiektem klasy A?

Moje odpowiedzi:

  1. 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.
  2. Istnieje, ale tylko poprzez rzutowanie. (?)
  3. Nie jest poprawna, kompilator nie będzie wiedział z której konwersji skorzystać
    Czy moje odpowiedzi są poprawne? Pozdrawiam
0

Nie jestem w stanie odpowiedzieć na żadne pytanie, ale mogę podrzucić link, ewentualnie ktoś więcej obeznany z C++ może go przeczyta i Ci odpowie: https://en.cppreference.com/w/cpp/language/implicit_conversion

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