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;
    }
 
     
     
    