У меня есть класс Terminallog, который перегружает оператор <<.Если я делаю следующее </p>
Terminallog clog(3);
clog << "stackoverflow.com is cool" << endl;
, все работает нормально.«stackoverflow.com - это круто» выводится на экран красивым цветным шрифтом, именно это и должен делать Terminallog.
Теперь я пытаюсь
Terminallog* clog = new Terminallog(3);
clog << "stackoverflow.com is cool" << endl;
, что приводит к ошибке компиляции:
error: invalid operands of types ‘Terminallog*’ and ‘const char [5]’ to binary ‘operator<<’
Я вижу, что это проблема передачи оператора "<<" вуказатель, но как я могу получить то же поведение, что и с не указателем версии?Я мог бы просто разыменовать указатель, но это создало бы локальную копию объекта (что не хорошо для производительности, не так ли?) </p>
Поэтому мне интересно, как правильно это сделать?
Заранее спасибо
ftiaronsem