#66_Default Data Types in class templates in C++

 #include <iostream>

using namespace std;
// Default Data Types in class templates in C++
template <class T1 = floatclass T2 = float> //Default Data_types

class vector
{
    T1 x;
    T2 y;
    T2 z;

public:
    vector() {}
    vector(T1 x1T2 y1T2 z1)
    {
        x = x1;
        y = y1;
        z = z1;
    }
    vector crossProduct(vector v1vector v2vector &v3)
    {
        v3.x = (v2.z * v1.y) - (v1.z * v2.y);
        v3.y = (v2.z * v1.x) - (v1.z * v2.x);
        v3.z = (v2.x * v1.y) - (v1.x * v2.y);
        return v3;
    }
    void display(vector v1vector v2vector v3)
    {
        cout << "The cross product of (" << v1.x << ", " << v1.y << ", " << v1.z << ") and (" << v2.x << ", " << v2.y << ", " << v2.z << ") is (" << v3.x << ", " << v3.y << ", " << v3.z << ")" << endl;
    }
};

int main()
{
    vector<> v1(10.20.41), v2(401.10), v3; //Will use default data types
    v1.display(v1v2v1.crossProduct(v1v2v3));

    vector<intintv_1(12104), v_2(593), v_3; //Will pass manual data types
    v_1.display(v_1v_2v_1.crossProduct(v_1v_2v_3));
    return 0;
}

Comments

Popular posts from this blog