pajofego
2005-06-30, 21:26:02
Ich habe folgende Basisklasse geschrieben:
Hier Headerteil:
class clBaseException
{
private:
short errNum;
static const char *pErrText[];
public:
enum {ZDIV, SQRT, CUSTOM_ERROR};
clBaseException();
clBaseException(int err);
clBaseException(const clBaseException& src);
friend ostream& operator << (ostream& os, const clBaseException& e);
}
und cpp Teil:
const char *clBaseException::pErrText[] =
{
"Division durch '0'",
"Wurzel aus negativer Zahl",
"Default constructor gestartet!"
};
ostream& operator <<(ostream& os, const clBaseException& e)
{
char h_strError[300];
S_ERROR(h_strError, e.pErrText[e.errNum]);
os << h_strError ;
return os;
}
clBaseException::clBaseException()
{
errNum = 3;
}
clBaseException::clBaseException(int err)
{
errNum = err;
}
clBaseException::clBaseException(const clBaseException& src)
{
errNum = src.errNum;
}
Nun wollte ich das ganze zweimal wie folgt vererben (im header file):
class clFluidException : public clBaseException
{
public:
clFluidException(int err) : clBaseException(err){};
clFluidException(const clFluidException& src) : clBaseException(src){};
};
class clNOC_PipeException : public clBaseException
{
public:
clNOC_PipeException(int err): clBaseException(err){};
clNOC_PipeException(const clNOC_PipeException& src) : clBaseException(src){};
};
Der Compiler wirft folgende Fehlermeldung:
multiple types in one declaration
Könnte mir einer erklären woher das kommt und wie ich das richtig mache?
Danke vorab,
Gruß
pajofego
Hier Headerteil:
class clBaseException
{
private:
short errNum;
static const char *pErrText[];
public:
enum {ZDIV, SQRT, CUSTOM_ERROR};
clBaseException();
clBaseException(int err);
clBaseException(const clBaseException& src);
friend ostream& operator << (ostream& os, const clBaseException& e);
}
und cpp Teil:
const char *clBaseException::pErrText[] =
{
"Division durch '0'",
"Wurzel aus negativer Zahl",
"Default constructor gestartet!"
};
ostream& operator <<(ostream& os, const clBaseException& e)
{
char h_strError[300];
S_ERROR(h_strError, e.pErrText[e.errNum]);
os << h_strError ;
return os;
}
clBaseException::clBaseException()
{
errNum = 3;
}
clBaseException::clBaseException(int err)
{
errNum = err;
}
clBaseException::clBaseException(const clBaseException& src)
{
errNum = src.errNum;
}
Nun wollte ich das ganze zweimal wie folgt vererben (im header file):
class clFluidException : public clBaseException
{
public:
clFluidException(int err) : clBaseException(err){};
clFluidException(const clFluidException& src) : clBaseException(src){};
};
class clNOC_PipeException : public clBaseException
{
public:
clNOC_PipeException(int err): clBaseException(err){};
clNOC_PipeException(const clNOC_PipeException& src) : clBaseException(src){};
};
Der Compiler wirft folgende Fehlermeldung:
multiple types in one declaration
Könnte mir einer erklären woher das kommt und wie ich das richtig mache?
Danke vorab,
Gruß
pajofego