#explicit

wszystkie notatki oznaczone etykietą "explicit"

Niejawne przekształcenia typów

Konwersje typów zdefiniowanych przez użytkownika, czyli klas, są możliwe poprzez zdefiniowanie odpowiednich metod. Są nimi konstruktory konwersji dokonujące przekształcania z innych typów do naszego zdefiniowanego typu i operatory konwersji1 służące do przekształcania z typu zdefiniowanego przez użytkownika na inne typy. class X { public: X(int n); operator int(); operator double(); }; Operator i konstruktor konwersji nie zmienia typu istniejącego obiektu lecz tworzy nowy obiekt int tam, gdzie jest potrzebny. Wszędzie, gdzie dopuszcza się X można użyć int i odwrotnie.

Czytaj dalej