Verhältnis Klasse zu Objekt

    #include <iostream>
    using namespace std;

    class Dog
    {
    private:
      int age;

    public:
      void setAge(int newAge) { age=newAge; }
      int getAge() { return age; }
    };

    int main()
    {
      Dog bello;
      Dog waldi;

      bello.setAge(4);
      waldi.setAge(3);
    }

bello und waldi sind Objekte (oder Instanzen) der Klasse Hund. Es kann nur eine Klasse Hund geben, aber viele Hund-Objekte.

int i; hier wäre i ein Objekt der Klasse int. Aber in C++ ist int keine Klasse, deshalb spricht man nicht von int-Objekten, obwohl es logisch wäre ;-)

Wir sehen hier auch, dass man Methoden auch inline definieren kann - dies empfiehlt sich aber nur bei sehr kurzen Methoden wie zB getter und setter.

Tip!!setter und getter sind Methoden die ein Attribut setzen. Car car; car.setColor("red"); car.faster(); Hier ist setColor() ein setter, da er das Attribut color des Autos setzt, aber faster() ist eine 'normale' Methode. Man kann Getter und Setter mittels Überladung zusammenführen: class Test { public: void Color(color const&); color Color() const; };.

top