Доброго времени суток всем знатокам С++.
У меня есть 2 класса:
| Код | class Vector { public: float x; float y; Vector () { x=0; y=0; };
void input (); void output ();
friend Vector operator * (float m, Vector b); friend Vector operator + (Vector a, Vector b); friend Vector operator - (Vector a, Vector b); Vector operator += (Vector b); Vector operator = (Vector b); };
|
| Код | #include "Vector.h"
class Lattice { int n; public: Vector *Basis; Vector *GSo_Basis; Vector *LLL_redused;
Lattice (); ~Lattice (); void SetBasis (); void GSo (); void LLL (); void ShowBasis (); void ShowGSo (); void ShowLLLredused (); };
|
Констуктор второго класса:
| Код | Lattice::Lattice () { cout<<"Введите количество базисных векторов решетки"<<endl; cin>>n; Vector *Basis = new Vector [n]; Vector *GSo_Basis = new Vector [n]; Vector *LLL_redused = new Vector [n]; }
|
Все компилится отлично, но при выполнении доходит до
| Код | void Lattice::SetBasis () { cout<<"Введите координаты (x, y) каждого вектора"<<endl; for (int i=0; i<n; i++) { Basis[i].input (); //<<----------------этого места и вылетает. LLL_redused[i]=Basis[i]; } }
|
| Код | void Vector::input () { cin>>x>>y; }
|
Не могу понять, в чем дело? Помогите, пожалуйста. |