C-plus-plus: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Zeile 26: | Zeile 26: | ||
class ReException { | class ReException { | ||
public: | public: | ||
ReException(const char* message); | |||
ReException(const char* message, const char* file, int line); | |||
virtual ~ReException(); | |||
public: | public: | ||
ReException(const ReException& source): _message(source._message){}; | |||
ReException& operator =(const ReException& source){ _message = source._message; } | |||
protected: | protected: | ||
ReException(); | |||
public: | public: | ||
inline void setMessage(const char* message) { | |||
if (m_message != NULL) | |||
free((void *) m_message); | |||
m_message = _strdup(message); | |||
} | |||
} | |||
inline const char* getMessage() const { | |||
return m_message; | |||
} | |||
protected: | protected: | ||
const char* m_message; | |||
}; | }; | ||
</syntaxhighlight> | </syntaxhighlight> |
Version vom 5. Dezember 2022, 19:10 Uhr
Links
Beispiel Klasse Complex
class Complex
{
public:
double _real;
double _imag;
public:
Complex(): _real(0), _imag(0) {}
Complex(double real, double imag): _real(real), _imag(imag) {}
Complex(const Complex &src): _real(src._real), _imag(src._imag) {}
Complex& operator =(const Complex& source){
_real = source._real;
_imag = source._imag;
return *this;
}
};
Exception
class ReException {
public:
ReException(const char* message);
ReException(const char* message, const char* file, int line);
virtual ~ReException();
public:
ReException(const ReException& source): _message(source._message){};
ReException& operator =(const ReException& source){ _message = source._message; }
protected:
ReException();
public:
inline void setMessage(const char* message) {
if (m_message != NULL)
free((void *) m_message);
m_message = _strdup(message);
}
}
inline const char* getMessage() const {
return m_message;
}
protected:
const char* m_message;
};