Observer Pattern (С++) проблема закодировать
От: flax Беларусь  
Дата: 02.02.04 11:17
Оценка:
давно не писал на C++, поэтому, возможно, не могу понять ошибку:
пытаюсь на C++ реализовать Observer Design Pattern
после ряда ошибок и попыток их локализации (вырезал все наследования итп)выяснил
что ошибка кроется где-то здесь

OBSERVER
#ifndef A_H
#define A_H

#include "B.h"
class A{
public:
    void Update (B*);
};
void A::Update (B* par)
{
    //all right
}
#endif


SUBJECT
#ifndef B_H
#define B_H

#include "A.h"

class B{
public:
    void Attach (A*);
};
void B::Attach (A* par)
{
    //all right
}
#endif


#include "iostream.h"
#include "A.h"
#include "B.h"

void main(){
   cout << "jast alive\n" << endl;
   cin.get();
}


ошибка в B.h на метод attach
error C2065: 'A' : undeclared identifier

и аналогично , если поменять местами включения, будет ругаться на B
------------------------------------------------
кстати, если в протектет засунуть конструктор
protected:
Observer()

То это обеспечит, что создать объект можно будет только с помощью new
и будет запрещено автоматическое создание ( like, когда неявное преобразование типов, = )?
это так?

СПАСИБО
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.