Von einem private Element auf das Objekt zugreifen



  • Hallo,

    folgende Klasse habe ich:

    class RP {
    public:
    	// useful bevor encoding
    	RP(	bool loose,
    			bool bidirectional,
    			bool reoptimize,
    			uint8_t priority,
    			uint32_t req_id);
    
    	// useful by decoding		
    	RP();
    
    	virtual ~RP();
    
    	void setRequestID(uint32_t);
    	uint32_t getRequestID() const;
    
    private:
    
    	uint32_t RequestID;
    };
    

    In einer Datei1.cpp definiere ich:

    RP rp1 = req.getRP();
    int RequestID1 = rp1.getRequestID();

    In einer Datei2.cpp habe ich nur RequestID1, wie kann ich in dieser Datei auf rp1 zugreifen?

    Cheers,

    CP



  • Gar nicht - du hast dort nur einen int-Wert (der noch dazu unabhängig von deinem RP-Objekt abgelegt wurde), woher soll der Compiler wissen, ob und aus welchem RP-Objekt du diesen Wert ausgelesen hast?

    (wenn du eine Beziehung zwischen der Request-ID und dem zugehörigen RP haben willst, mußt du die schon selber umsetzen, z.B. über eine map<> (aber dann sollte jedes RP eine eindeutige Request-ID bekommen))



  • Was ist eigentlich der Unterschied zwischen map und pair?



  • cpplinux schrieb:

    Was ist eigentlich der Unterschied zwischen map und pair?

    Eine map kann mehrere Paare aufnehmen, pro Schlüssel aber nur einen Wert. Ein pair kapselt einfach nur zwei Variablen.



  • cpplinux schrieb:

    Was ist eigentlich der Unterschied zwischen map und pair?

    Derselbe wie zwischen int[] und int:
    Map = Container, der pairs aufnehmen kann.

    Gruß,

    Simon2.


Anmelden zum Antworten