адрес памяти, а *& используется для его разыменования. Но что происходит здесь? Я даже не знаю как загуглить.
Child child;
Parent &rParent = child;
почему не просто Parent rParent = child; ?
код взят с учбеника, тема полиморфизма
фулл код: https://godbolt.org/z/4W9o3eq3E
в данном случае объявлена ссылка
Почитай про ссылки
да я читал, там вообще тупо приведены примеры типа short value = 7; // &value = 0012FF60 short otherValue = 3; // &otherValue = 0012FF54 short *ptr = &value; std::cout << &value << '\n'; std::cout << value << '\n'; std::cout << ptr << '\n'; std::cout << *ptr << '\n'; std::cout << '\n'; *ptr = 9; и это не капли мне не объясняет то, что выше
Ну так читай там где нормально описано, благо есть интернет и куча литературы
ну я не знаю где еще об этом прочитать, это точно чат для новичков?
Для новичков умеющих читать
прости, а из какого учебника взят код?
мой нубский взгляд почему-то не хочет видеть в том коде какой-либо полиморфизм, подправь, если я не прав
Он такой же как в моем примере
в твоем примере полиморфизм вижу
Так я просто переписал немного ) для наглядности, на самом деле если убрать функцию то то же самое будет
https://ravesli.com/urok-163-virtualnye-funktsii-i-polimorfizm/
посмотри внимательно на свой код и тот)) и увидишь, что нет virtual там)))
А ну да, не досмотрел
дальше полиморфизм там есть, ок, но тот код который ты скинул не обладает полиморфными свойствами
ссылка в том коде нужна для упрощения примера, зачем она? чтоб работать с первоначальным объектом и не создавать копию тот код равносилен данному: Child child; std::cout << "rParent is a " << child.Parent::getName() << '\n';
Обсуждают сегодня