Ковариантные виртуальные функции и интеллектуальные указатели

нет, у Вас может только быть одна форма asp.net на страницу. Это было правилом с тех пор 1.0

, Они должны оба совместно использовать ту же форму

8
задан 12 July 2009 в 12:20
поделиться

2 ответа

Is it possible to expand this feature to smart pointers as well? (Assuming a smart pointer is some template class)

No: C++ doesn't know/allow covariant or contravariant templates. There's no relation between types Ptr and Ptr, even if A inherits from B.

8
ответ дан 5 December 2019 в 21:21
поделиться

Boost shared_ptr может хранить полиморфный указатель. Если вам нужен ковариантный возвращаемый тип, то вы хотите использовать что-то специфичное для подтипа. В этом случае можно оставить тип возврата неизменным и использовать dynamic_pointer_cast для передачи указателя.

-1
ответ дан 5 December 2019 в 21:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: