Я создал class outer
, и он имеет int a
в качестве частной переменной-члена.
И я создал класс class outer::inner
.
Я хотел бы получить доступ и изменить int a
in class outer::inner
как это сделать?
(я думаю, что ключевое слово this
относится к самому себе (т.е. к классу external :: inner instance). Я думаю, что это поможет в решении этой проблемы. .. не правда ли?)
Это мой код.
template<typename Key, typename Pred, typename Allocator> class set_t;
template<typename Key>
class iterator_set{
public:
iterator_set() : ptr(0) {}
...
void foo(){
// I would like to access 'set' variable in this field
// like
// set=set->left;
}
...
private:
Key* ptr;
friend class set_t<Key, std::less<Key>, std::allocator<Key>>;
};
template<typename Key>
struct node{
Key value;
struct node* left;
struct node* right;
};
template<typename Key, typename Pred=std::less<Key>, typename Allocator=std::allocator<Key>>
class set_t{
public:
set_t();
...
typedef iterator_set<Key> iterator;
typedef struct node<Key> node;
...
private:
node* set;
};
void main(){
set_t<string>::iterator iter;
iter.foo(); //this is a target line
}