@Titamik
Я тут задаю самые глупые вопросы..

Реализация класса «полином» с динамическим массивом?

В массив k не записываются коэффициенты, собственно в этом и проблема. (Параллельный вопрос - так как я накодил - так вообще можно? то есть правильно?)
class polynom {
    int polynomsize;
    float *k;
    //float k[100];

    public:
    // Конструктор с параметрами, инициализирующий степень полинома и выделяющий память под массив.
    polynom(int S,float K[]) {
        polynomsize = S;
        float *k = new float[polynomsize];
        for(int i=0; i<polynomsize; ++i)
            k[i]=K[i];
    }
    string get() {
        string s="[Poly] ";
        for (int i=0; i<polynomsize; i++) {
            if (k[i]!=0)
                if ((polynomsize-i-1)!=0)
                    s+=to_string(k[i])+"x^"+to_string(polynomsize-i-1)+" + ";
                else s+=to_string(k[i]);
        }
        return s;
    }

    void div(float n) {
        for (int i=0; i<polynomsize; i++) {
            k[i]=k[i]/n;
        }
    }
    ~ polynom(){
        delete[] k;
        cout << "destructor worked";
    };
};
  • Вопрос задан
  • 214 просмотров
Решения вопроса 1
@Alexander1705
float *k = new float[polynomsize];

Вы переопределили k и присваиваете локальному указателю, а не полю.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы