TINF_Abgaben

Simbuerger_01_Klassen_Namespace.cpp

Committer:
Ursukar
Date:
2020-04-27
Revision:
3:5e9d7e9d2fbc
Parent:
0:2dcffa1b1724

File content as of revision 3:5e9d7e9d2fbc:

#include <stdio.h>
#include <iostream>

enum eckig {nein, ja};

namespace Simbuerger    // namespaces sorgen dafür dass man 
                        // mehrere Variablennamen im selben Programm nutzen kann
{
    
    
    class Kreis         
    {
        private:          
        float m_radius;
        eckig ist_eckig;
  
        public:
        // Methooden
        float berechneUmfang();
        float berechneFlaeche();
        char obEcken();
        
        // Konstruktor
        Kreis(float radius, eckig hatEcken);
};

    Kreis::Kreis(float radius, eckig hatEcken) 
    {
        m_radius = radius;
        ist_eckig = hatEcken;
    }    

    float Kreis::berechneUmfang() 
    {
        return (m_radius * m_radius * 3.1415);
    }

    char Kreis::obEcken() 
    {
        if (ist_eckig == 0)
        {
            printf("Hat keine Ecken.\n");
            return ist_eckig;
        }
        else 
        {
            printf("Hat Ecken.\n");
            return ist_eckig;
        }
    }
}

int main ()
{
  using namespace Simbuerger;
  // Instanzierung von Kr
  Kreis Kr(2.5, nein);
  
  float umfang = Kr.berechneUmfang();
  char corny = Kr.obEcken(); 
  
  // Gibt Umfang aus und ob es Ecken gibt als boolschen Wert
  printf ("Der Umfang beträgt: %f Ecken: %d\n", umfang, corny);

  return 0;
}