C++ Rechnen mit Variablen

Hallo,

lange ist es her, aber ich bin wieder da und habe auch prompt ein Problem:p
Ich versuche gerade ein Programm zu schreiben, welches mir das Kreuzprodukt 2er Vektoren berrechnet. Dazu habe ich mir ein keine Klasse Vektor als Template angelegt. So weit so gut. Dabei sei ..1 die Koordinate vom 1. Vektor und ...2 vom 2. :)
Jetzt kann es ja passieren, dass ich etwas ausrechne wo statt eine Zahl eine Variable a drinne ist. Die Frage ist jetzt wie setz ich das um, dass ich das trotzdem ausrechnen kann in Abhänigkeit von a? Wie müsste ich den Quelltext erweitern, damit ich das hinkriege? Nen Gedankenanstoß wäre echt super:thumb_up: Danke schonmal im vorraus, ich bin echt am verzweifeln :)

PHP:
template<class T> T Vektor<T>::Kreuzprodukt(T x1, T x2, T y1, T y2,T z1, T z2)
{
    /*
    *    x1        x2        ( (y1*z2)-(z1*y2))
    *    y1    x   y2    =    (-(x1*z2)-(z1*x2))
    *    z1        z2        ( (x1*y2)-(y1*x2))
    */
    Struct_Vektor::x = ((y1*z2)-(z1*y2));
    Struct_Vektor::y = (-(x1*z2)-(z1*x2));
    Struct_Vektor::z = ((x1*y2)-(y1*x2));

    return Struct_Vektor;
}
EDIT: Falls ich mich mit der Formel vertan habe, dann tut es mir leid, aber darum geht es auch nicht ;)
 
Ich bin mir nicht sicher ob ich deine Frage richtig verstehe, aber ich glaube dein Problem liegt nicht in der Funktion, sondern mehr in deinem Templateparameter:

wenn du am Schluss in einer der Koordinaten einen Ausdruck haben willst, der von einer Variable abhängt (z.B. 5a) , kannst du das ja schlecht in einen int oder float schreiben.

Du müsstest eine Klasse schreiben, die so einen Ausdruck aufnehmen kann und die entsprechenden Operatoren (*, +, ...) dafür Überladen.
Den Ausdruck selbst kannst du darin z.B. in einem String, oder besser in einem Baum speichern.
Ich hoffe, das ist Ansatzweise das, was du gesucht hast!
 
Ja, danke genausowas habe ich gesucht :) und es war mir auch klar das ich das nicht einfach in ein Template machen kann :) Ich habe nur den Konstruktor geschrieben und dann ist mir eingefallen ups^^ und da dachte ich besser nen bisschen code mit rein posten, damit man auch sieht, dass ich nicht nur eine fertige Lösung will sondern mir auch gedanken gemacht habe :)
 
Zurück
Oben