C-plus-plus

Aus Info-Theke
Zur Navigation springen Zur Suche springen


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;
    }
};

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;
};

STL

String

  • size_t length() Aktuelle Länge
  • size_t capacity() Liefert aktuell Puffergröße
  • void resize(size_t newLen, [char cc = '\0']) Setzt Länge durch Kürzen oder Auffüllen mit cc
  • reserve(size_t newSize): Setzt Kapazität
  • clear() Kürzt auf 0
  • bool empty() Test auf Leerstring

Finden und Ersetzen

Konvertierung

  • int stoi() Wandlung in int
  • const char* c_str() C-String


#include <string>
std::string s;
s.length();

Vector

RegExpr