Я пытаюсь написать программу на C ++, которая использует класс Point, состоящий из координат x и y (целых) и логического значения. Координаты x и y должны находиться в диапазоне от 0 до 100, но после выполнения и с оператором print для проверки распечатанные значения будут повреждены.
Мой код выглядит следующим образом:
int main(int argc, const char * argv[]) {
vector<Point> points;
for (int i = 0; i<200; i++) {
int rand_X = (rand() % 100) + 1;
int rand_Y = (rand() & 100) + 1;
Point point = Point(rand_X, rand_Y, false);
cout<< point.getX() << " " << point.getY() << endl;
points.push_back(point);
}
return 0;
и класс Point выглядит следующим образом, если это актуально:
struct Point {
public:
int x;
int y;
bool in_layer;
Point(int x, int y, bool in_layer) {}
int getX() {return this->x;}
int getY() {return this->y;}
};
И вывод просто "-272632592 32766 "повторяется 200 раз, что, я полагаю, является искаженным значением.
Есть идеи, что может вызвать проблему?