Wzajemne parametry dwóch klas do siebie.
Ostatnio zmodyfikowano 2014-03-28 16:10
Majsin Temat założony przez niniejszego użytkownika |
Wzajemne parametry dwóch klas do siebie. » 2014-03-27 22:31:36 Chciałbym zrobić tak, żeby dwie klasy mogły wzajemnie do siebie przekazać parametr swojej klasy. Przykład: #pragma once #ifndef T1_H_ #define T1_H_ #include "t2.h" class t1 { void cos1( t2 * c ); }; #endif
#pragma once #ifndef T2_H_ #define T2_H_ #include "t1.h" class t2 { void cos2( t1 * c ); }; #endif
Celem tego jest, że jeśli jedna z klas zmieni swój stan to ma sprawdzić, czy nowy stan obiektu nie przeszkadza drugiej klasie i ew. wycofać zmianę. Kompilator wywala przy takim czymś błąd (właściwy przykład jest dużo bardziej skomplikowany :) ). Ktoś wie jak to zrobić? |
|
Monika90 |
» 2014-03-27 22:57:38 Kompilator wywala przy takim czymś błąd |
Jeżeli cię to dziwi, to znaczy że nie rozumiesz jak działa dyrektywa #include i #pragma once. Zastanów się, co preprocesor zrobi kiedy w jakiejś jednostce translacji (np. w main.cpp) dasz #include "t1.h" i dlaczego #include "t1.h" znajdujące się w pliku t2.h zostanie wtedy zignorowane. |
|
Majsin Temat założony przez niniejszego użytkownika |
» 2014-03-28 16:10:08 Nie dziwi mnie to i wiem jak działa pragma once. A sprawę zrobiłem poprzez dziedziczenie tych klas przez dodatkową klasę. Byłem tylko ciekaw czy da się tą sprawę rozwiązać mniej więcej tak jak to opisałem. |
|
« 1 » |