Подскажите, что не так? Давно не кодил в Borland 3.1 и не общался с памятью.
#include <graphics.h>
#include <iostream.h>
#include <stdio.h>
#include <math.h>
#include <conio.h>
class Parallelepiped
{
float _a, _teta, _phi, _ro;
int _xw[8], _yw[8], _zw[8];
int _xe[8], _ye[8], _ze[8];
public:
Parallelepiped()
{
}
void Initialize()
{
int _x0[8]={-_a/2,-_a/2, _a/2, _a/2,-_a/2, _a/2, _a/2,-_a/2};
int _y0[8]={-_a/2, _a/2, _a/2,-_a/2,-_a/2,-_a/2, _a/2, _a/2};
int _z0[8]={-_a/2,-_a/2,-_a/2,-_a/2, _a/2, _a/2, _a/2, _a/2};
for(int i=0; i<sizeof(_x0)/sizeof(int); i++)
{
_xw[i]=_x0[i];
_yw[i]=_y0[i];
_zw[i]=-_z0[i];
_xe[i]=-_xw[i]*sin(_teta)+_yw[i]*cos(_teta);
_ye[i]=-_xw[i]*cos(_phi)*cos(_teta)-_yw[i]*cos(_phi)*sin(_teta)+_zw[i]*sin(_phi);
_ze[i]=-_xw[i]*sin(_phi)*cos(_teta)-_yw[i]*sin(_phi)*sin(_teta)-_zw[i]*cos(_phi)+_ro;
}
}
float teta(float teta)
{
_teta=teta;
}
float teta()
{
return _teta;
}
float phi(float phi)
{
_phi=phi;
}
float phi()
{
return _phi;
}
float ro(float ro)
{
_ro = ro;
}
float ro()
{
return _ro;
}
};
void main()
{
clrscr();
Parallelepiped*par = new Parallelepiped();
par->teta(0.0);
par->phi(90.0);
par->ro(200.0);
par->Initialize();
}
При инициализации 1-й переменной (не важно какой)- ошибки нет. Если проинициализировать несколько переменных, то выпадает ошибка: Floating point error:domain Abnormal program termination
par->teta(0.0);
par->phi(90.0);
par->ro(200.0);