Kontruktor sa jednim parametrom implicitno definiše konverziju iz tipa parametra u tip klase. Npr. klasa
Code:
class C
{
C(string&);
};
definiše konverziju iz klase string u klasu
C. To znači da npr. funkcija
Code:
void f(C&);
koja prihvata argument tipa
C ako se pozove sa npr.
Code:
string s = "Hello, World!";
f(s);
uradiće (implicitno) konverziju objekta
s tipa
string u objekat tipa
C. Ako tako nešto treba onemogućiti, onda se kontruktor klase
C definiše sa
explicit. U tom slučaju, prethodno nije moguće, već se mora eksplicitno uraditi konverzija:
Code:
string s = "Hello, World!";
f(C(s));
Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."