The following code gives me default values, even if I try several values. I can't find a logical mistake :(
I must have done something wrong with the constructors, but I have no clue why they don't work as intended.
class cGeoPos {
private:
double lang = 8.7;
double breit = 52.5;
public:
cGeoPos(){
}
cGeoPos(double lang_in, double breit_in){
lang = lang_in;
breit = breit_in;
}
void setGeoPos(double lang_in, double breit_in){
lang = lang_in;
breit = breit_in;
}
void printGeoPos(){
cout << lang << "\t" << breit << endl;
}
};
class cBaum {
private:
string art = "-";
double hoch = 0;
cGeoPos posi;
public:
cBaum(){
art = "-";
hoch = 0;
posi.setGeoPos(0, 0);
}
cBaum(string art_in, double hoch_in, double lang_in, double breit_in)
{
art = art_in;
hoch = hoch_in;
cGeoPos;
posi.setGeoPos(lang_in, breit_in);
}
int eingabe(){
string art_in;
double hoch_in, lang_in, breit_in;
cout << endl << "Bitte Baumart eingeben: ";
cin >> art_in;
cout << endl << "Bitte Hoehe eingeben: ";
cin >> hoch_in;
cout << endl << "Bitte geografische Laenge eingeben: ";
cin >> lang_in;
cout << endl << "Bitte geografische Breite eingeben: ";
cin >> breit_in;
cBaum(art_in, hoch_in, lang_in, breit_in);
if (art_in == "-") {
return 0;
}
else {
return 1;
}
}
int main()
{
int i = 0;
cBaum wald[1000];
while (i < 1000) {
if (wald[i].eingabe() == 0) {
return 1;
}
i++;
}
return 0;
}