[ ZenMajstor @ 10.03.2004. 13:47 ] @
Stvarno je ovaj C++.NET nevjerovatan. Imam 5 klasa: KlasaBazna KlasaIzvedena1 KlasaIzvedena2 KlasaSaKontejnerima KlasaKorisnickiException Sve se klase nalaze u istom namespace-u. I sve su pisane u zasebnim fajlovima sa deklaracijama u .h fajlovima i implementacijama u .cpp fajlovima. sada: public __gc class KlasaIzvedena1:public KlasaBazna public __gc class KlasaIzvedena2:public KlasaBazna naravno u .h fajl izvedenih klasa ukljucio .h fajl bazne klase KlasaBazna (#include "KlasaBazna.h") --------------------------------------------------------------------------- PARADOX1 KlasaSaKontejnerima sadrzi objekte klasa KlasaIzvedena1 i KlasaIzvedena2: KlasaIzvedena1 * ptr1; KlasaIzvedena2 * ptr2; naravno u KlasaSaKontejnerima.h fajl ukljucio KlasaIzvedena1(2).h sve radi BEZ PROBLEMA --------------------------------------------------------------------------- PARADOKS2 Sada u KlasaIzvedena1(2) mi treba objekat klase KlasaKorisnickiException, i da bih ga napravio moram u KlasaIzvedena1(2).h ukljuciti KlasaKorisnickiException.h i sta se desava?? error: class type redefinition i pokazuje na KlasaKorisnickiException jasno mi je da je to zbog toga sto u KlasaSaKontejnerom.h imam #include "KlasaIzvedena1" i #include "KlasaIzvedena2" a posto je u obe klase ukljucen KlasaKorisnickiException.h kao da ga dva puta ispisuje! Ali zasto je prije toga radilo bez problema (POGLEDATI PARADOX1). ----------------------------------------------------------------------------- Problem sam resio kasnije drugacijim dizajnom, ali i dalje me ovaj paradoks zbunjuje!!?? |