#ооп #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 метод, вот только вы не показали что там есть реализация
Комментариев нет:
Отправить комментарий