求教:c++写一个log输出的类,不定参数个数和类型

log需要输出到文件中
例如该类为CTag;声明一个对象tag("text.txt");
tag.log(1,2,3);
tag.log(1);
tag.log(1,2,3,"qweqeqw",'c',123);
可以以上使用.有什么方法吗?可以贴上具体code吗

http://blog.csdn.net/zhuichao001/article/details/7843888

http://blog.csdn.net/doudou745/article/details/7237972

函数重载,或者指定参数的缺省值。

可以参考printf的实现,就是可变参数

 void myPrintf(char * strFormat, ...)
{
    if(NULL == strFormat)
        return;
    char strInfo[1000] = {0};
    va_list arg_ptr = NULL;
    va_start(arg_ptr, strFormat);
    vsprintf(strInfo, strFormat, arg_ptr);
    va_end(arg_ptr);
    fputs(strInfo, stdout);
}