C++ Advanced task04_05 - Lectures - Проблем с форийч-а
Здравейте,
защо при положение че имам в класа Lecture разлисани операторите .begin() и .end() не иска да работи кода на for-each-a от main() ?
(Класът ми има едно поле: сет от Resource)
    std::set<Resource>::iterator begin(const Lecture& lect) {
            return (this->dataSetResources).begin();
        }
        std::set<Resource>::iterator end(const Lecture& lect) {
            return this->dataSetResources.end();
        }
Поздрави!
Foreach-a работи с итератори и не го интересува към какви обекти сочат те. Типа на обектите не е задължително да съвпада с типа на класа, в който са дефинирани begin() и end() методите.
С други думи - няма значение в какъв обект (в случая е Lecture) се намира колекцията (vector<Resource>), която се итерира, важни са единствено итераторите, които този обект подава чрез begin() и end() методите си към foreach-a.