Einer anderen Klasse einen char Wert übergeben



  • Hallo Leute,

    steh grad mächtig auf dem Schlauch, hab ein kleines Programm geschrieben, um die Klassen besser zu verstehen.
    Mein Problem ist nun, dass ich die beiden Variablen user und psw nicht in der zweiten Klasse Ausgabe mit Werten gefüllt habe.

    Wie bokomme ich die Werte rein??
    Über Pointer?? Wenn ja, wie?

    #include "stdafx.h"
    #include <iostream>
    
    using namespace std;
    
    class Eingabe;
    class Ausgabe;
    
    class Eingabe{
    private: 
    	char user[8];
    	char psw[8];
    	char test[8];
    public:
    	Eingabe();
    	~Eingabe();
    	void ein();
    	friend class Ausgabe;
    };
    
    Eingabe::Eingabe(){cout << "Konstruktor" << endl;}
    
    Eingabe::~Eingabe(){cout << "Destruktor" << endl;}
    
    void Eingabe::ein()
    {
    	cout << "Bitte geben Sie Ihren Usernamen ein: ";
    	cin >> user;
    	cout << "Bitte geben Sie Ihr Passwort ein: ";
    	cin >> psw;
    	cout << user <<psw;
    
    }
    
    class Ausgabe{
    private:
    	char user;
    	char psw;
    public:
    	Ausgabe();
    	~Ausgabe();
    	void aus();
    
    };
    
    Ausgabe::Ausgabe(){cout << "Konstruktor" << endl;}
    
    Ausgabe::~Ausgabe(){cout << "Destruktor" << endl;}
    
    void Ausgabe::aus()
    {
    	cout << "Ihr Username ist: " << user << endl;
    	cout << "Ihr Passwort ist: " << psw << endl;
    
    }
    
    int main(void)
    {
    
    Eingabe in;
    Ausgabe out;
    	cout << "Willkommen beim Encoding-File" << endl;
    	in.ein();
    	out.aus();
    
    	return 0;
    }
    

    Danke für eure Hilfe!

    Frostie



  • du kannst die werte nur über public funktionen verändern.

    class Ausgabe
    {
     private:
        char user; // sollte das nicht ein array sein?
        char psw;  // hier nicht vielleicht auch?
     public:
    // 1. Weg: über konstruktor
        Ausgabe(char c, char p) : user(c), psw(p){cout << "Konstruktor\n" << endl; } 
    // in main -> Ausgabe stefan(s, u);
        ~Ausgabe() { cout << "Destruktor\n" << endl; }
        void aus();
    // 2. Weg: funktion
        void SetUser(char c) { user = c; }
        char GetUser() const { return user; }   
        void SetPsw(char c) { psw = c; }
        char GetUser() const { return psw; }   
    };
    
    //Ausgabe::Ausgabe(){cout << "Konstruktor" << endl;}
    //Ausgabe::~Ausgabe(){cout << "Destruktor" << endl;}
    
    void Ausgabe::aus() // kann auf variablen zugreifen, weil klassenmethode
    {
        cout << "Ihr Username ist: " << user << endl;
        cout << "Ihr Passwort ist: " << psw << endl;
    }
    // nicht mit Ausgabe::aus, sondern über funktion
    
    int main(void)
    {
        Ausgabe Hans(h, t); // user = h, psw = t
        cout << "user: " << Hans.GetUser() << endl;
        cout << "psw: " << Hans.GetPsw() << endl;
    
     return 0;
    }
    

    mfg


Anmelden zum Antworten