Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.07.2018, 17:18   #1
luminoforest
 
Регистрация: 17.04.2018
Сообщений: 9
По умолчанию указатель при приведении в множ. наследовании

мне понятно, почему С-style приведение в данном случае поведёт себя как reinterpret_cast, изменив тип с B* на С* но не сделав "сдвиг указателя". как представляется тип C в памяти тоже вроде бы представляю - и тут вопрос, разве изменение типа указателя не будет происходить именно как сдвиг? как это будет проявляться ?
Код:
struct A;
struct B;
struct C;

C * f(B * b){
    return (C *)b;  // (reinterpret_cast)
}

struct A{
    int a;
}

struct B {};

struct C : A, B
{};
luminoforest вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Полиморфизм и вызов функции при наследовании Даша1046 Общие вопросы C/C++ 6 01.06.2015 23:03
Проблема с методом при наследовании rommster Общие вопросы C/C++ 7 15.09.2011 18:56
ГЛЮКИ при наследовании фреймов Delphi 7 AnTe Компоненты Delphi 3 10.12.2010 09:02
Как вызываются конструкторы объектов при наследовании? TwiX Общие вопросы C/C++ 10 17.11.2010 13:59
Перегрузка == при наследовании paramon Общие вопросы C/C++ 5 17.06.2008 00:17