klassen/bruch3.hpp

Das folgende Code-Beispiel stammt aus dem Buch
Objektorientiertes Programmieren in C++ - Ein Tutorial für Ein- und Umsteiger
von Nicolai Josuttis, Addison-Wesley München, 2001
© Copyright Nicolai Josuttis 2001


#ifndef BRUCH_HPP
#define BRUCH_HPP

// Standard-Headerdateien einbinden
#include <iostream>

// **** BEGINN Namespace Bsp ********************************
namespace Bsp {

/* Klasse Bruch
 */
class Bruch {

  private:
    int zaehler;
    int nenner;

  public:
    /* neu: Default-Konstruktor, Konstruktor aus Zähler und
     * Konstruktor aus Zähler und Nenner in einem
     */
    Bruch (int = 0, int = 1);

    /* Ausgabe
     * - neu: inline definiert
     */
    void print () {
        std::cout << zaehler << '/' << nenner << std::endl;
    }

    // Multiplikation
    Bruch operator * (Bruch);

    // multiplikative Zuweisung
    Bruch operator *= (Bruch);
    
    // Vergleich
    bool operator < (Bruch);
};

/* Operator *
 * - neu: inline definiert
 */
inline Bruch Bruch::operator * (Bruch b)
{
    /* Zähler und Nenner einfach multiplizieren
     * - das Kürzen sparen wir uns
     */
    return Bruch (zaehler * b.zaehler, nenner * b.nenner);
}

// **** ENDE Namespace Bsp ********************************

#endif    // BRUCH_HPP