C-plus-plus: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(→Links) |
|||
Zeile 24: | Zeile 24: | ||
} | } | ||
}; | }; | ||
class Vector : public Complex { | |||
Vector(): Complex() {} | |||
~Vector() {} | |||
Vector(const Vector &src): Vector(src): Complex(src) {} | |||
Vector& operator =(const Vector& src): { Complex::operator =(src); return *this; } | |||
} | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== Beispiel Interface == | == Beispiel Interface == | ||
<syntaxhighlight lang="c++"> | <syntaxhighlight lang="c++"> |
Version vom 19. Dezember 2022, 20:51 Uhr
Links
Klassen
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;
}
};
class Vector : public Complex {
Vector(): Complex() {}
~Vector() {}
Vector(const Vector &src): Vector(src): Complex(src) {}
Vector& operator =(const Vector& src): { Complex::operator =(src); return *this; }
}
Beispiel Interface
class Box {
public:
// pure virtual function
virtual double getVolume() = 0;
};
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;
};