Re: Class name
On Apr 5, 9:51 am, worlman...@yahoo.com wrote:
Why the following header file - database.h must put
class Database;
class Table;
at the beginning?
Is that if I define multiple Class in a single .h file, then I need to
put all Class name at the beginning?
================
class Database;
class Table;
class Database
{
public:
CnnPtr m_Cnn;
char m_ErrStr[500];
Database();
bool Open(char* UserName, char* Pwd,char* CnnStr);
bool Execute(char* CmdStr, Table& Tbl);
^^^^^^^^
It's because you use "Table" as reference here, then you need
"forward declaration" to let complier know this is a class name.
Maybe you can have a look at
http://www.parashift.com/c++-faq-lite/misc-technical-issues.html#faq-39.12
void GetErrorErrStr(char* ErrStr);
};
class Table{
public:
RecPtr m_Rec;
char m_ErrStr[500];
Table();
void GetErrorErrStr(char* ErrStr);
int ISEOF();
HRESULT MoveNext();
HRESULT MovePrevious();
HRESULT MoveFirst();
HRESULT MoveLast();
bool Get(char* FieldName, char* FieldValue);
bool Get(char* FieldName,SYSTEMTIME& FieldValue);
bool Get(char* FieldName,float& FieldValue);
bool Get(char* FieldName,double& FieldValue);
bool Get(char* FieldName,double& FieldValue,int Scale);
bool Get(char* FieldName,long& FieldValue);
BOOL VariantTimeToSystemTimeWithMilliseconds (/*input*/ double
dVariantTime, /*output*/SYSTEMTIME *st);
};