Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

C++, прототип функции из класса.

Андрей Ринчинов Профи (765), закрыт 11 лет назад
Есть два класса, в классе А вызывается ф-ция из класса Б. В классе Б вызывается ф-ция из класса А. Можно ли это провернуть при помощи прототипа ф-ции из класса B,
В данном случае выдает ошибку. Можно ли как то получить доступ к функции из класса Б?
Class b;
b *x[10];
Class a;
a *y[10];
Class A
{
public:
void a()
{
b->b();
}
void z()
{
m++;
};
}
Class B
{
public:
void b()
{
a->z();
}
}
Дополнен 11 лет назад
Class b;
b *x[10];
Class a;
a *y[10];
Class A
{
public:
void a()
{
x->b();
}
void z()
{
m++;
};
}
Class B
{
public:
void b()
{
y->z();
}
}
Лучший ответ
Андрей Кольцов Гуру (4086) 11 лет назад
Начнем с того что у тебя всё не правильно в плане синтаксиса.
Вот идея
class B;
B* x;
class A
{
  private:
    int m;
  public:
    void a()
    { x->b(); } // вот в чем заковырка то
    void z()
    {m++; }
};
A* y;
class B
{
  public:
    void b()
    { y->z(); }
};
Андрей РинчиновПрофи (765) 11 лет назад
да, действительно, просто я писал это для примера и случайно названия экземпляров спутал.а есть идеи по поводу прототипов? я не могу найти нигде. а если сделать так как я сделал то компилятор ошибку выдает
Андрей Кольцов Гуру (4086) Вот решение проблемы этой class B; B* x; class A {   private:     int m;   public:     void a(); //делаешь это прототипом     void z()     {m++; } }; A* y; class B {   public:     void b()     { y->z(); } }; inline void A::a() //а тут описываешь { x->b(); } //а вот так... http://otvet.mail.ru/question/81003092/
Остальные ответы
Похожие вопросы