Ich brauche einen Konstruktor für meine Klasse zu erstellen, die ein Objekt der gleichen Klasse von Typ als Argument T1
und erstellen ein Objekt vom Typ T
. Der Compiler ist derjenige, der entscheidet, ob die Konvertierung T1 -> T
durchgeführt werden kann.Konstruktor, der ein Objekt vom Typ <T> von einem Objekt des Typs erzeugt <T1>
Eg .: Wenn ich
habenObject<int> o;
Object<double> o1(o);
Dies sollte funktionieren, da es nicht Präzision verliert. Es sollte nicht anders herum funktionieren (doppelte Werte in einem Integer-Objekt kopieren). Kann mir bitte jemand helfen/mir sagen, wie man das macht?
Was ist Ihr tatsächliches Problem? richtig entscheiden, ob Präzision verloren geht? Wie definiert man die Genauigkeit für nicht-integrale Typen? –
Wirklich solche Fälle wie die Umwandlung von Gleitkomma in Integral sollten nicht von Ihrer Klasse, sondern vom Benutzer gehandhabt werden. Es ist erlaubt, wenn Sie es jemals tun wollen. – DeiDei
Mein generelles Problem ist: ich bin eine 2d-array-Klasse implementieren es hat den Index, in dem das vale gespeichert ist (int row int col) und ein Template-Wert (der tatsächliche Wert, den ich zum Array hinzufügen). Ich muss ein Array vom Typ T aus einem bestehenden Array von Typ U erstellen. Der Text für dieses Problem lautet: Delegieren Sie den Compiler die Casting-Kontrolle (U -> T) – user7337963