Probleme mit der Initialisierungsliste
-
Hallo,
ich habe ein Problem mit der Initialisierungsliste eines Konstrukrors.
#pragma once #include "NodeID.h" #include "ToggleBit.h" #include "State.h" class Response { private: NodeID nodeID; ToggleBit toggleBit; State state; public: Response(void); Response(const Response&); Response(NodeID, const ToggleBit&, State); ~Response(void); NodeID getNodeID(void) const; ToggleBit getToggleBit(void) const; State getState(void) const; };#include "Response.h" #include <iostream> using namespace std; Response::Response(void) { } Response::Response(const Response& response) { this->nodeID = response.nodeID; this->state = response.state; this->toggleBit = response.toggleBit; } Response::Response(NodeID id, const ToggleBit& bit, State s) : nodeID(id), toggleBit(bit), state(s) { cout << (int)bit.getToggleBit() << endl; } Response::~Response(void) { } NodeID Response::getNodeID(void) const { return(this->nodeID); } ToggleBit Response::getToggleBit(void) const { return(this->toggleBit); } State Response::getState(void) const { return(this->state); }Und zwar geht es um den Konstruktor mit den drei Parametern, dieser ruft von den Membern State und ToggleBit immer den Standardkonstruktor auf und nicht den in der Initialisierungsliste von mir angegebenen Konstruktor.
Der Wert, der über cout ausgegeben wird ist ein anderer als der des Toggle Bits.
Ich hoffe jemand kann mir helfen.
Gruß
-
Wie sieht den ToggleBit aus?
-
hat ToggleBit nen richtigen CopyCtor?
ToggleBit Response::getToggleBit(void) const { return(this->toggleBit); }diese funktion gibt ja ne kopie deiner togglebit zurück.. vll. ist da das problem.