tratando de escribir std: out y archivo al mismo tiempo

Estoy tratando de escribir en el archivo y stdout al mismo tiempo dentro de c ++ mediante la sobrecarga de la corriente

prueba.h

 #pragma once 

#include <iostream>

using  std::ofstream;

class OutputAndConsole:public ofstream
{
public:
    std::string fileName;        
    OutputAndConsole(const std::string& fileName):ofstream(fileName),fileName(fileName){
    };
    template <typename T>
    OutputAndConsole& operator<<(T var);
};


template <typename T>
OutputAndConsole& OutputAndConsole::operator<<(T var)
{
    std::cout << var;
    ofstream::operator << (var);
    return (*this);
};

test.cpp

  OutputAndConsole file("output.txt");
  file << "test" ;

La salida en el archivo es

01400930

pero en la consola esta

test

He depurado el código que parece que está entrando

_Myt& __CLR_OR_THIS_CALL operator<<(const void *_Val)

¿Qué estoy haciendo mal?

Respuestas a la pregunta(2)

Su respuesta a la pregunta