Obiekt konwertowanej klasy musi być przekazywany do funkcji przez wartość. Przekazywanie przez referencję spowoduje błąd kompilacji z powodu niezgodności typów. Nie zaleca się stosowania niejawnie takich konwersji. Zmniejszają czytelność kodu oraz mogą spowolnić program (obiekt do funkcji jest przekazywany przez wartość, co wymusza kopiowanie również dla wywołań bez konwersji).

Pozostałe konstruktory są wywoływane zawsze jawnie.

Rodzaje konstruktorów w języku Object Pascal

Konstruktor domyślny Jest to konstruktor dziedziczony kolejno przez wszystkich przodków danej klasy, począwszy od przodka ultymatywnego (tj. pierwotnego, będącego przodkiem wszystkich klas). Ma on nazwę Create i nie pobiera żadnych argumentów (konstruktor bezargumentowy). Jeżeli w danej klasie zostanie zdefiniowany nowy konstruktor, to automatycznie zastępuje on konstruktor domyślny. Wtedy konstruktor domyślny nie jest dostępny do bezpośredniego wywołania, ale można go wywołać z wnętrza tego nowego konstruktora (inherited Create). Jeśli w klasie zostanie zdefiniowane co najmniej dwa konstruktory, to muszą one zostać oznaczone jako przeciążone (overload). Jeśli te nowe konstruktory pobierają argumenty, to wtedy konstruktor domyślny nadal jest dziedziczony.