Fragen zu einem kleinen Programm
-
Hallo mir sind ein paar Zeilen und ihre genau Funktion im Programm nicht klar. Also ich weiss nicht was da passiert.
Bitte ganz einfach gehaltene Erklärungen zu meinen Fragen
//bsp10051 #ifndef _FLAECHE_ #define _FLAECHE_ class Flaeche { public: Flaeche(char *n); //??????? ~Flaeche(); void getFarbe() const; private: char farbe[11]; }; #endif #include <iostream> #include <cstring> #include "Flaeche.h" using namespace std; Flaeche::Flaeche(char *n) { //?????? strncpy (farbe,n,10); } Flaeche::~Flaeche() { } void Flaeche::getFarbe() const { cout<<"\n"<<farbe; }
Was bewirkt des char *n? Ich werde da einfach net schlau draus
Hier nochmal ein anderes Bespiel mit dem selben code
#ifndef _GRUNDSTUECK_ #define _GRUNDSTUECK_ class Grundstueck { private: char gemarkung[30]; int flur,flurstueck, groesse; public: Grundstueck(); //Konstruktor ~Grundstueck(); //Dekonstruktor void speichereGrunddaten (const char *n, int f, int st, int g); void zeigeGrunddaten() const; protected: float sachwert; }; #endif include <iostream> #include <cstring> #include "Grundstueck.h" using namespace std; Grundstueck::Grundstueck() { } Grundstueck::~Grundstueck() { } void Grundstueck::speichereGrunddaten(const char *n, int f, int st, int g) { strncpy(gemarkung, n,29); flur=f; flurstueck=st; groesse=g; sachwert=static_cast<float>(g)*180; //????????? } void Grundstueck::zeigeGrunddaten() const { cout<<"\n" <<"Gemarkung: "<<gemarkung<<"\n" <<"Flur: "<<flur<<"\n" <<"Flurstueck: "<<flurstueck<<"\n" <<"Groesse: "<<groesse<<"\n" <<"Sachwert: "<<sachwert; }
Und was passiert genau in dieser Zeile
sachwert=static_cast<float>(g)*180; //?????????
-
//bsp10051 #ifndef _FLAECHE_ #define _FLAECHE_ class Flaeche { public: Flaeche(char *n); //Zeiger auf char -> Zeichenfolge in C, abgeschlossen mit '\0' ~Flaeche(); void getFarbe() const; private: char farbe[11]; }; #endif #include <iostream> #include <cstring> #include "Flaeche.h" using namespace std; Flaeche::Flaeche(char *n) { //dito strncpy (farbe,n,10); } Flaeche::~Flaeche() { } void Flaeche::getFarbe() const { cout<<"\n"<<farbe; }
#ifndef _GRUNDSTUECK_ #define _GRUNDSTUECK_ class Grundstueck { private: char gemarkung[30]; int flur,flurstueck, groesse; public: Grundstueck(); //Konstruktor ~Grundstueck(); //Dekonstruktor void speichereGrunddaten (const char *n, int f, int st, int g); void zeigeGrunddaten() const; protected: float sachwert; }; #endif include <iostream> #include <cstring> #include "Grundstueck.h" using namespace std; Grundstueck::Grundstueck() { } Grundstueck::~Grundstueck() { } void Grundstueck::speichereGrunddaten(const char *n, int f, int st, int g) { strncpy(gemarkung, n,29); flur=f; flurstueck=st; groesse=g; sachwert=static_cast<float>(g)*180; //g zu einem float casten und dann mit 180 multiplizieren } void Grundstueck::zeigeGrunddaten() const { cout<<"\n" <<"Gemarkung: "<<gemarkung<<"\n" <<"Flur: "<<flur<<"\n" <<"Flurstueck: "<<flurstueck<<"\n" <<"Groesse: "<<groesse<<"\n" <<"Sachwert: "<<sachwert; }