C-plus-plus: Unterschied zwischen den Versionen

Aus Info-Theke
Zur Navigation springen Zur Suche springen
Zeile 26: Zeile 26:
class ReException {
class ReException {
public:
public:
        ReException(const char* message);
  ReException(const char* message);
        ReException(const char* message, const char* file, int line);
  ReException(const char* message, const char* file, int line);
        virtual ~ReException();
  virtual ~ReException();
public:
public:
        ReException(const ReException& source);
  ReException(const ReException& source): _message(source._message){};
        ReException& operator =(const ReException& source);
  ReException& operator =(const ReException& source){ _message = source._message; }
protected:
protected:
        ReException();
  ReException();
public:
public:
        /** @brief Sets the message.
  inline void setMessage(const char* message) {
        * @param message The new message.
    if (m_message != NULL)
        */
      free((void *) m_message);
        inline void setMessage(const char* message) {
      m_message = _strdup(message);
                if (m_message != NULL)
    }
                        free((void *) m_message);
  }
                m_message = _strdup(message);
  inline const char* getMessage() const {
        }
    return m_message;
        /** @brief Returns the message.
  }
        * @returns The description of the exception.
        */
        inline const char* getMessage() const {
                return m_message;
        }
protected:
protected:
        const char* m_message;
  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;
};