winbatch 7 Posting Pro in Training

Hi,
I'm trying to play with classes and I'm having trouble with a theoretical problem.

I've create a 'Log' class, who creates and writes to log files. I was able to overload the << operator so that I could write to my log as follows:

Log logOne("log.txt", true, "\n" );
logOne<<"BLAH"<<"BLAH2";

In the constructor, the 'true' refers to having the log class write out a datetime stamp of each log entry, while the '\n' indicates how to terminate the log line.

The problem is that when I use the syntax about (<<"A"<<"B" ), etc, it ends up writing multiple lines because the << function is getting called each time. What I would like to do is have A and B be concatenated into one string and then do the actual call to write the log line once. How do I know if I am the 'LAST' item being sent to the << so that I can store the intermediate values and not write it out unless I am last?

Here is my function: (quite simple)

Log & operator << (string a)
{
        writeLog(a);
        return *this;
}

Thanks in advance...

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.