Re: Class Usage
"Michael R. Copeland" <mrc2323@cox.net> wrote in message
news:MPG.219e712ef72c695e9896de@news.cox.net...
I have defined the following class:
//-----------------------------------------------------------------
class LogFunctions // Log/Audit File class
{
public:
LogFunctions::LogFunctions(char *fileName); // constructor
LogFunctions::~LogFunctions(); // destructor
void LogFunctions::openLog(char *fileName); // open Log file
void LogFunctions::putLog(char *line); // write->Log/Audit file
void LogFunctions::scanLog(); // scan Log/Audit file
void LogFunctions::closeLog(); // close current log/audit file
static int listFile(char *fileName); // lists named file
private:
static void cursor(char row, char col);
static void initScr(void);
static char *fileReadRecord(long);
static void parseStr(char *str); // parse string from file buffer
typedef unsigned long ULONG;
};
//-----------------------------------------------------------------
and I am having difficulty using this class as an object pointer. I
need to use it several times (with different files) throughout the
execution of my application. That is, I want to have several files
concurrently opened, writing, being scanned, etc. within the same
program. Thus, I thought would do the following:
//-----------------------------------------------------------------
LogFunctions *l_c = NULL;
LogFunctions *l_c = new LogFunctions("testfile.log");
should allow it to compile as long as you have the rest of the class done
(actual code).
But please, read Victors post, there is a lot that should be cleaned up
(like constant correctness).
You could also do:
LogFunctions *l_c = NULL;
l_c = new LogFunctions("testfile.log");
But there is no reason to assign it to NULL when on the next line you're
going to give it a value anyway. Best to just put on one line.
...
LogFunctions *l_c = new LogFunctions("testfile.log");
...
l_c->putLog("Some textual data");
l_c->scanLog();
etc.
...
l_c->closeLog();
delete(l_c);
//-----------------------------------------------------------------
This sort of code generates all sorts of compile errors (which don't
help me understand what I did wrong), and I know I've badly confused the
concepts of class definition and instantiation...8<}}
So, if my explanation of my intent makes sense, I'd appreciate some
guidance as to how actually implement this logic... TIA