Страницы

Поиск по вопросам

пятница, 10 января 2020 г.

Оператор & в функциях и const

#ооп #cpp


Немного подзабыл C++ , а может просто раньше и не сталкивался с этим, но на вид всё
очень легко. Просто прошу напомнить следующее (можно в кратце, я всё понимаю, но вспомнить
не могу, а гугл не воспринимает символ & в поисковой строке):
const после метода, насколько я знаю, означает защиту значений *this, а что значит
const перед методом? Что значит оператор "&" в шаблонном типе? Это ведь оператор взятия
адреса, здесь он причем? Правильно ли я понял, что "=0" в конце означает, что это pure
метод? Если так, то зачем ему реализация в данном классе, если этот класс абстрактный,
а сам метод будет переопределен в дочерних классах? Или я что-то путаю? Не люблю код,
в котором опущены кавычки, вот и запутался...
Заранее спасибо! Вот, кстати, и сам код :)
template < class UnknownType > class MyClass
{
public:
    virtual const UnknownType& method() const throw () = 0;
};
    


Ответы

Ответ 1



всё просто UnknownType& это тип: ссылка на UnknownType а const для того чтобы нельзя было изменить то что возвращается да это pure метод, вот только вы не показали что там есть реализация

Комментариев нет:

Отправить комментарий