Определить класс PolyObjectNumber
Определить класс PolyObjectNumber, содержащий поле массива точек с координатами(X, Y). Все методы работают только с одним или двумя объектами (не массивом), если они не статические (static). Попытался сам, но все не получается, затрудняет, что поля класса являются статическими и из-за это не понимаю как написать конструкторы
Ответы (1 шт):
Автор решения: Warrvin Xonest
→ Ссылка
Как оказалось делать x, y static - глупость
class PolyObjectNumber {
private:
double* x;
double* y;
int size_point;
public:
//Конструкторы:
//-по умолчанию
PolyObjectNumber() {
size_point = 1;
x = new double[size_point];
y = new double[size_point];
*x = 0; *y = 0;
}
//- с параметрами
PolyObjectNumber(int _size) {
size_point = _size;
x = new double[_size];
y = new double[_size];
for (int i = 0; i < size_point; i++)
x[i] = y[i] = 0;
}
//- копирования
PolyObjectNumber(const PolyObjectNumber& poly) {
size_point = poly.size_point;
x = new double[size_point];
y = new double[size_point];
memcpy(x, poly.x, size_point * sizeof(double));
memcpy(y, poly.y, size_point * sizeof(double));
}
};