#1 22.05.11 19:22
вложенные классы
хочу вот что:
template <typename T1>
class class_name
{
int a;
class class_name2
{
int b;
somemethod()
{
b = a;
}
}
}
но компилятор ругается на то что он не видит переменную "а" в классе class_name2
вообще можно как-нить так сделать?
а вообще проблема вот в чем, пусть я имею класс контйнер
template <typename T1>
class class_name
{
vector<int> cont;
class iterator
{
}
}
нужно написать вложенный класс итератор для vector<int> cont;
как это сделать?
можно конечно во-первых извне работать с vector<int> cont;
просто кинув указатель на начало cont.
либо можно просто пользоваться встроенными в vector итераторами как обычно это делается в STL
но задание звучит как:
реализовать вложенный класс итератор в class_name
Исправлено Flinn (22.05.11 19:51)
Offline
#2 22.05.11 20:10
Re: вложенные классы
Ну храни во вложенном классе ссылку(указатель что больше нравится) на базу, инициализируй её в конструкторе и преспокойненько итерируйся. Либо же точно также сделай итератор не вложенным классом, но все-равно храни ссылку на базу и опять же итерируйся.
Исправлено Revenger (22.05.11 20:13)
Offline

