Определить класс 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));
    }
};
→ Ссылка