Я пытаюсь написать простой класс аудита, который принимает ввод с помощью оператора < < и записывает аудит после получения пользовательского манипулятором, как это:пользовательского поток манипулятором для класса
class CAudit
{
public:
//needs to be templated
CAudit& operator << (LPCSTR data) {
audittext << data;
return *this;
}
//attempted manipulator
static CAudit& write(CAudit& audit) {
//write contents of audittext to audit and clear it
return audit;
}
private:
std::stringstream audittext;
};
//to be used like
CAudit audit;
audit << "Data " << data << " received at " << time << CAudit::write;
Я признаю, что перегруженный оператор мой код не возвращает объект потока, но задавался вопросом, возможно ли еще использовать синтаксис манипулятора. В настоящее время компилятор видит «< <» как двоичный оператор сдвига вправо.
Спасибо за любой вклад, Patrick
Спасибо, строит наконец – Patrick