Я шел через: C++ FAQs about inheritance и решил реализовать его (просто, чтобы узнать его)сопзЬ правильность
#include "Shape.h"
void Shape::print() const
{
float a = this->area(); // area() is pure virtual
...
}
сейчас, все (ну, почти) работает, как описано в пункте: FAQ: 23,1 исключением того, что печать () является const, и поэтому он не может получить доступ к этому «указателю», как только вы выберете const, он работает. Теперь часто задаваемые вопросы по C++ существуют и обычно довольно хороши. Это ошибка? У них есть опечатка или я не прав? Если я ошибаюсь, я хотел бы знать, как можно получить доступ к «этому» указателю в функции const.
Из любопытства, какой компилятор вы используете? –
Учитывая выбор между мной, возможно, неправильным пониманием или почти 20-летней давней ссылкой, имеющей ошибку или опечатку в тривиальном случае, я склонен подозревать, что я могу что-то упустить. – JohnMcG
Кстати, сохраните время ввода и воздержитесь от 'this->'. Он не нужен в C++. * Возможно, остаточная черта от Java? * –