2012-05-04 1 views
-1

Итак, у меня есть этот класс (родительский), который создает диалоговое окно и заполняет его элементами управления. Внутри этого класса есть еще один класс (дочерний элемент), который создает таймер, который связывает/передает вызов функции в систему событий, чтобы регулярно обновлять содержимое некоторых элементов управления. Проблема связана с функцией обновления таймера, требующей знать объекты, которые необходимо обновить.Получение указателя базового класса (родителя) в объекте класса с базовым производным (дочерним)?

Я хотел бы просто передать указатель базового класса ребенку каким-то образом, каким образом он все сам собой. Но я не могу понять, как это осуществить. У кого-нибудь есть идеи?

Я искал ответы, но все, что у меня получалось, - это доступ к переменным из базового класса из дочернего класса. Это будет работать, но это кажется ненужным огонь события для каждого индивидуального контроля ... (я думаю, я мог бы создать все элементы управления в структуре, но это кажется ненужным)

вложенные классы выглядят как это:

class CreateDialog{ 
    class timer{ 
    } 
} 
+3

«* В этом классе есть еще один класс (ребенок) *« Вы подразумеваете наследование или состав здесь? Ваш вопрос путается, по крайней мере, с некоторым псевдокодом. – ildjarn

+0

Я добавил вам образец кода структуры кода. – ouch

+0

А, так класс _nested_ .. Здесь нет родителя или ребенка. : -] Почему бы не просто «таймер» взять указатель или ссылку на свой собственный «CreateDialog»? – ildjarn

ответ

0

вы можете попытаться объявить статическую переменную-член в родительском классе и установить ее в указатель родительского элемента в конструкторе родительского класса.

+0

Похоже, что он просит неприятностей. Что произойдет, если у вас есть несколько экземпляров класса? – Flexo

+0

Это может работать на самом деле, поскольку переменная указателя будет храниться в каждом базовом классе, созданном ... Я попробую. – ouch

Смежные вопросы