Private Member aus Klasse auslesen



  • Moinsen,

    hab grad Schwierigkeiten mir die folgenden privaten Member aus einer Klasse mit einer Funktion auszulesen. Vielleicht kann mir jmd kurz weiterhelfen :p

    class MyClass :
    	public MySubClass
    {
    public:
    	MyClass (void);
    	~MyClass (void);
    
    	virtual void GetValue(const CString & name, const CString & value)
    	{
    		name = m_value1;
                      value = m_value2;
    
    	}
    
    private:
    	CString m_value1;
    	CString m_value2;
    };
    

    Ich möchte gern mit der GetValue funktion die beiden CString Variablen auslesen können.

    Mfg
    Kurzer



  • Die beiden Argument name und value sind const, können also nicht verändert werden.

    class MyClass :
        public MySubClass
    {
    public:
        MyClass (void);
        ~MyClass (void);
    
        virtual void GetValue(CString & name, CString & value)
        {
            name = m_value1;
            value = m_value2;
        }
    
    private:
        CString m_value1;
        CString m_value2;
    };
    


  • danke für die Erleuchtung, ist mir nicht aufgefallen beim coden 🕶



  • Besser wäre meiner Meinung nach:

    class MyClass :
        public MySubClass
    {
    public:
        MyClass (void);
        ~MyClass (void);
    
        const CString& GetValue1() const { return m_value1; }
        const CString& GetValue2() const { return m_value2; }
    
    private:
        CString m_value1;
        CString m_value2;
    };
    

    Die Benennung der Variablen sollte halt deutlicher sein, falls das nicht nur ein Beispiel ist...
    rya.



  • Kurzer schrieb:

    virtual void GetValue(const CString & name, const CString & value)
    

    Warum virtual ?


Anmelden zum Antworten