If you put it in ONE file (rather than several) it would be possible to test in cpp.sh. Please do that in future.
Your matrix class has no plan at all. You have just added private variables to it, willy-nilly, creating ever more complex structures, adding ever more functions, none of which work.
Add one thing at a time and test it. Look at all the variables you have in a single object:
1 2 3 4 5 6 7
|
double theta;
double gamma;
double Psi;
double Composite;
float size;
double a[3][3];
double b[3][1];
|
One array (possibly with row and column limits) would be OK. The rest is unused and unusable.
Your matrix class appears to contain (amongst a lot of other junk) TWO arrays - one a 3x3 matrix, the other a 3x1 point. It should contain just ONE. I think that, unless you have a
flexible number of rows and columns, it would be better to put column vectors in a separate class.
From the top in main():
matrixCALC object, o;
This creates two objects, one called "object", the other "o". Hmm. The constructor of your matrix class does ... nothing with these.
o.getMATRIX();
This apparently asks for a 3x1 point ... but puts it in the first column of a 3x3 array. Hmm.
o.print();
This outputs your point. Well, actually, it outputs the first column of your 3x3 array.
You then input the three Euler angles.
For your chosen example you then call
object.RTheta(I);
No idea, but I guess your intention was to put it in (one of the) array members of "object". However, in fact you put it in a completely new array which disappears when you leave the function.
b = object*o;
It's actually conceivable this might have worked. However, two of the columns in the relevant array in o are zero, whilst there is currently garbage in (both) arrays of "object".
b.printmultiply();
Why a specialist member function printmultiply()? Why not just print()?
Well that's what happens. It makes no sense. To be honest, I'd start from scratch with a more sensible matrix class built up gradually.