C'è qualche differenza tra un default definito dall'utente costruttoreDifferenza tra costruttore e costruttore predefiniti (definiti dall'utente) con argomenti predefiniti?
class Simple
{
public:
Simple() {}
};
e un costruttore definito dall'utente che prende più argomenti, ma ha valori di default per ognuno di questi
class WithDefaults
{
public:
WithDefaults(int i = 1) {}
};
diverso da quello WithDefaults
può anche essere costruito con un valore esplicito per i
?
In particolare, mi chiedo, per quanto riguarda la lingua, se questi due costruttori eseguono lo stesso rotolo di costruttori predefiniti per entrambi, o se ci sono sottili differenze tra le proprietà delle classi?
In altre parole, è un costruttore che ha valori predefiniti per tutti i suoi argomenti un costruttore predefinito in ogni modo?
Mi aspettavo che questo fosse un duplicato, in realtà, ma non riesco a trovare questa risposta da nessuna parte. – MicroVirus
È quasi * risposto * in [Parametri predefiniti con costruttori C++] (http://stackoverflow.com/questions/187640/default-parameters-with-c-constructors), penso, ma non ne sono sicuro. – MicroVirus
In isolamento, penso, le lezioni sono le stesse. Possono agire in modo diverso quando vengono prese in considerazione le conversioni. Il link nel secondo commento di @MicorVirus lo spiega ulteriormente. –