class, die Klasse

class ist die Definition einer Klasse. Die Objekte, die danach folgen, sind die wirklichen Auswirkungen dieser einen Klasse. Oder anders ausgedrückt: Die Klasse ist die Verallgemeinerung eines Objektes.

Ein erstes kleines Beispiel:

Hier steht wie bei struct ein Semikolon hinter der schließenden geschweiften Klammer (rot):

class KleineKlasse

 {

   private:

      int ersteVariable;

   public:

       void setzeDieVariable( int set )

        {  ersteVariable = set;  }

       void zeigeDeineVariable()

         { cout << endl << "Variable: " << ersteVariable;  }

 }; //Ende der class KleineKlasse - Semikolon

 

int main()

 {

   KleineKlasse klein1;

   klein1.setzeDieVariable(20);

   klein1.zeigeDeineVariable();  

   return 0;

 }//main()

Hier oben ist "KleineKlasse" die Klasse, klein1 das einzige Objekt dieser Klasse.




Eine unvollkommene Klasse:

//tier.cpp
#include <iostream>
#include <conio.h>
using namespace std;

class Tier
{
    int hoehe;
    int gewicht;
    string name;
public:
    Tier() { hoehe = 100; gewicht = 1000; name="Tiger";    }//schlechter Konstruktor
    void print()
    {
        cout << hoehe << "  " << gewicht << "  " << name << endl;
    }
};//Ende der class

int main()
{
    cout << "Klasse:" << endl;
    Tier tier1;
    tier1.print();
       
    getch();
    return 0;
}


So sieht die Klasse schon besser aus:

//tier.cpp
#include <iostream>
#include <conio.h>
using namespace std;

class Tier
{
  private:
    int hoehe;
    int gewicht;
    string name;
  public:
    Tier() { }
    void einlesenVonDaten(int hoe, int gew, string na)
    {
        hoehe = hoe;
        gewicht = gew;
        name = na;
    }
    void gibAllesAus()
    {
        cout << hoehe << "  " << gewicht << "  " << name << endl;
    }
};

int main()
{
    cout << "Klasse:" << endl;
    Tier tier1;
    tier1.einlesenVonDaten(90, 1500, "Tiger");
    tier1.gibAllesAus();
       
    getch();
    return 0;
}


Zwei Tiere gibt es schon ...

//tier.cpp
#include <iostream>
#include <conio.h>
using namespace std;

class Tier
{
  private:
    int hoehe;
    int gewicht;
    string name;
  public:
    Tier() { }
    Tier(int hoe, int gew, string na)//Einlesen von Daten kann auch durch den Konstruktor
     { hoehe = hoe; gewicht = gew; name = na; }//so geschehen - -
    void einlesenVonDaten(int hoe, int gew, string na)//oder so.
    {
        hoehe = hoe;
        gewicht = gew;
        name = na;
    }
    void gibAllesAus()
    {
        cout << hoehe << "  " << gewicht << "  " << name << endl;
    }
};//class-Ende

int main()
{
    cout << "Klasse:" << endl;
    Tier tier1;
    tier1.einlesenVonDaten(90, 1500, "Tiger");//Das Einlesen hier.
    tier1.gibAllesAus();
    Tier tier2(100, 1350, "Eidechse"); //Das Einlesen geschieht hier auch. Der Konstruktor
                                                            // wird hierdurch aufgerufen.
    tier2.gibAllesAus();   
    getch();
    return 0;
}


3 Tiere und "static":

//tier.cpp
#include <iostream>
#include <conio.h>
using namespace std;

class Tier
{
  private:
    int hoehe;
    int gewicht;
    string name;
    static int anzahl;
  public:
    Tier() { anzahl++; }
    Tier(int hoe, int gew, string na)//Einlesen von Daten kann durch den Konstruktor
     { hoehe = hoe; gewicht = gew; name = na; anzahl++;  }  //so geschehen - -
    void einlesenVonDaten(int hoe, int gew, string na)//oder so.
    {
        hoehe = hoe;
        gewicht = gew;
        name = na;
    }
    void gibAllesAus()
    {
        cout << hoehe << "  " << gewicht << "  " << name << endl;
    }
    static int liesAnzahl()
    { return anzahl; }
};//class-Ende
int Tier::anzahl = 0;
int main()
{
    cout << "Klasse:" << endl;
    Tier tier1;
    tier1.einlesenVonDaten(90, 1500, "Tiger");//Das Einlesen hier.
    tier1.gibAllesAus();
    Tier tier2(20, 150, "Eidechse"); //Das Einlesen geschieht hier auch. Der Konstruktor
    Tier tier3(10, 100, "Schlange");                       // wird hierdurch aufgerufen.
    tier2.gibAllesAus();
    tier3.gibAllesAus();
    cout << "Die Zahl der Tiere ist: " << Tier::liesAnzahl() << endl;   
    getch();
    return 0;
}


Bitte das YouTube-Video groß einstellen! So kannst Du es besser lesen.