Софтуерно Инженерство
Loading...
pesosz avatar pesosz 4 Точки

Exercises on Advanced Class Members and Code Organization - Task 5 - Sequences

Здравейте.. стигнах до подкарване на програмата, но не знам, как да продължа със задачата. Ето кода от Sequince.h: 

#include <iostream>
#include <string>
#include <vector>
//#include "Iterator.h"


template <class T, class Generator>
class Sequence
{
private:
    T T1;
    Generator generator;
    std::vector<T>vec;
public:
    Sequence():T1(0) {}
    Sequence(T T1, Generator generator): T1(T1), generator(generator) {}

    void generateNext(int nextElement)
    {
        vec.push_back(nextElement);
    }

    std::vector<int>::iterator begin()
    {
        return vec.begin();
    }

    std::vector<int>::iterator end()
    {
        return vec.end();
    }

};

 

до тук съм задал начало и край, но като въведа числа, на конзолата ми се изкарва само първото въведено число.. някакъв съвет как да Overload-на операторите, за да я подкарам?

Тагове:
0
C++ Advanced
j.petrov_90 avatar j.petrov_90 118 Точки

Привет,

Добре си подходил - супер!

Функцията:

void generateNext(int nextElement) { vec.push_back(nextElement); }
ти е грешна.

Гришна е, защото трябва да добавим няколко на брой елемента, а не 1 елемент с някаква стойност.
generateNext(3) -> трябва да ти добави 3 елемента
Така както ти си я написал, ще ти добави 1 елемент със стойност 3.

Относно begin() и end() функциите -> там трябва да върнеш като резултат обект от тип "някакъв твой клас за итератор".
Какво трябва да съдържа този итератор говорихме в лекцията.
Имай предвид само, че това не е толкова лесна задача.

Успех! :) 

0
05/03/2019 08:43:40
pesosz avatar pesosz 4 Точки

Ами аз опитах да направя такъв клас, но нещо не ми се получи имплементацията :/ 

0
BobyTopalova avatar BobyTopalova 25 Точки

Изгледай, края на видео записа на упражнението, там има обяснения за тази задача. Може да ти е от полза. И във форума потърси има инфо за тази задача.

0
05/03/2019 12:15:03