На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
Модераторы: JoeUser, Qraizer, Hsilgos
  
> Как получить адрес своего агрегата?
    Есть класс, назовём его A. Есть другой класс, назовём его B, этот класс имеет поле (член-данное), назовём его f1. Поле f1 – экземпляр A. Кроме f1, класс B имеет ещё как минимум одно поле другого типа, назовём его f2. Класс A имеет метод (функцию-член), назовём его m. Есть экземпляр B, назовём его b. Метод m может получить указатель на f1:
    ExpandedWrap disabled
      A B::=&B::f1;
    . А как по этому p получить адрес объекта b? Я попробовал вычесть p из this и привести тип, пишет, что у бинарного минуса операнд типа указатель на класс не валиден. Методу m нужно значение f2, а делать специально в классе B ещё один метод у которого будет на один параметр меньше, и который только вызовет f1.m(f2), не охота. Есть кроме прямого текста ещё какой-то способ получить адрес объекта, членом которого является *this?
    Сообщение отредактировано: Ирокез -
    1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
    0 пользователей:


    Рейтинг@Mail.ru
    [ Script Execution time: 0,0554 ]   [ 15 queries used ]   [ Generated: 14.10.19, 06:44 GMT ]