Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wzajemne parametry dwóch klas do siebie.

Ostatnio zmodyfikowano 2014-03-28 16:10
Autor Wiadomość
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:
C/C++
//t1.h
#pragma once
#ifndef T1_H_
#define T1_H_
#include "t2.h"
class t1
{
    void cos1( t2 * c );
};
#endif
C/C++
//t2.h
#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ć?
P-107317
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.
P-107318
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.
P-107327
« 1 »
  Strona 1 z 1