LINUX.ORG.RU

Вопрос по STL


0

0

Начал изучать STL, возник вопрос на который пока не нашёл ответа :(

есть объект

class TIndex

{

TIndex(int val);

~TIndex();

int value;

}

Загоняю его в список (List). Создаю итератор.

Как через итератор, указывающий на текущий элемент в списке добраться до значения value?

anonymous

Ты же value, как и конструктор с деструктором, сделал приватным, так что никак.

anonymous
()
Ответ на: комментарий от anonymous

По умолчанию без явных квалификаторов доступа у тебя стоит режим private. То есть пошел на хуй, если ты не обьект этого класса. Короче читай Бьерна.

LONGOBARD
()
Ответ на: комментарий от anonymous

#include <iostream>
#include <list>

using namespace std;

class agu
{
    int value;
public:
    agu(int n) : value(n) {}
    virtual /* по приколу */ ~agu() {}

    void doit(ostream &os) const
    {
	os << value;
    }
};

main()
{
    list<agu> l;

    for(int i = 0; i < 10; i++)
    {
	l.push_back(agu(i));
    }

    for(list<agu>::const_iterator i = l.begin();
	i != l.end();
	i++)
    {
	i->doit(cout);
      /* ^^ это очень сложно, практически невозможно ? */
	cout << ' ';
    }

    cout << '\n';

    return 0;
}

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.