Dziwna sprawa. Mam klasę AdjencyList dziedziczącą po Container. Jak tworzę instację AdjencyList z parametrem false (co powinno ustawić zmienną isDirected na false), to isDirected ustawia mi się na true.
Konstruktory Container wyglądają tak:
Container::Container()
{
}
Container::Container(bool isDirected)
{
this->isDirected = isDirected;
}
Konstruktory AdjencyList:
AdjacencyList::AdjacencyList()
{
}
AdjacencyList::AdjacencyList(bool isDirected):Container(isDirected)
{
}
Deklaruję teraz sobie instację klasy AdjencyList:
AdjacencyList al = new AdjacencyList(false);
Jak sobie skaczę w debuggerze, to faktycznie, uruchamia się konstruktor z parametrem false i zmienna isDirected ustawia się poprawnie, ALE od razu po zakończeniu wykonywania konstruktora, konstruktor wywołuje się znowu, ale tym razem z parametrem "true". Do isDirected przypisuje się "true" i tak już ta wartość zostaje. Ma ktoś pomysł co może być przyczyną?