В настоящее время я пытаюсь фильтровать входные потоки в потоковый буффер. Поэтому я хотел создать класс «MyClog», который перегружает его < < и фильтрует входной поток, переданный ему, перед пересылкой отфильтрованного ввода в буферный буфер.Как фильтровать входные потоки для блокировки
Фильтрация зависит от внутреннего состояния класса MyClog. Также я хочу перегрузить оператора с помощью шаблона, поэтому мне просто нужно реализовать один метод.
пример
clog << "This is a Test No." << 1;
myclog << "This is a Test No." << 2
В зависимости от внутреннего состояния myclog сообщение печатается через помеху.
Мой перегруженный оператор работает, если я не использую шаблон, что я делаю неправильно? И в чем разница между template<typename T>
и template<class T>
?
Вот отрывок из моего кода.
template<typename T>
class MyClog {
private:
bool state=false;
public:
MyClog& operator<<(const T& arg){
if(state){
clog << arg;
}
return *this;
}
Похож http://stackoverflow.com/q/6677072/560648? –