Dies ist eine gängige Technik ist alle Konstrukteure durch einen einzigen Punkt gehen, um sicherzustellen, so dass Sie nur diesen Punkt ändern müssen (es kann andere Verwendungen haben, aber ich bin mir nicht bewusst von ihnen).
Ich habe es in Dinge gesehen, die Standardargumente verwenden wie:
class Rational {
private:
long numerator;
long denominator;
public:
void Rational (long n, long d) {
numerator = n;
denominator = d;
}
void Rational (long n): Rational (n,1) {}
void Rational (void): Rational (0,1) {}
void Rational (String s): Rational (atoi(s),1) {}
}
Bär mit der Syntax, ich habe nicht bereit Zugang zu einem Compiler hier aber die grundlegende Absicht ist es, so viel zu zentralisieren Code wie möglich in diesem ersten Konstruktor. der Nenner größer als Null ist oder der Zähler und Nenner, um sicherzustellen, reduziert wird unter Verwendung einer größte gemeinsame Teiler Methode
Wenn also zum Beispiel eines Scheck hinzufügen, es nur hat an einem Punkt in Ihrem Code geschehen.
Interessant. Was passiert mit Code, den Sie in die leeren Klammern setzen? – Svante
Es läuft immer noch, aber nach der Abhängigkeit (Hauptkonstruktor). – paxdiablo