Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> A не видит B, B не видит A, что делать A ?? 
V
    Опции темы
ANTON_AL
Дата 29.1.2007, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 292
Регистрация: 27.1.2007

Репутация: нет
Всего: нет



Добрый день всем!

Есть вот такой код:

Код

#include <iostream>
#include <conio.h>



//-------------------------------------------------
//Forward declaration
//-------------------------------------------------
class A;                    //Не помогает =(
class A_Interface;    //



class A
{
    public:
        A( )  { m_Interface = A_Interface( this ); };
        ~A( ) { };

        A_Interface* GetInterface( ) { return &m_Interface; }

        void Method_1( ) { };
        void Method_2( ) { };
        void Method_3( ) { };
        void Method_4( ) { };


    private:
        A_Interface m_Interface;
};





class A_Interface
{
    public:
        A_Interface( )            { };
        A_Interface( A *pA )    { m_pA = pA; }
        ~A_Interface( )        { };

        void Method_1( ) { m_pA->Method_1( ); }
        void Method_2( ) { m_pA->Method_2( ); }


    private:
        A *m_pA;
};





void main( )
{
    
    getch( );
}



Оба класса не видят друг друга, как разрешить такую ситуацию??

С уважением, Антон!
PM MAIL   Вверх
Fazil6
Дата 29.1.2007, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 35
Всего: 60



Код

#include <iostream>
#include <conio.h>



//-------------------------------------------------
//Forward declaration
//-------------------------------------------------
class A;                    



class A_Interface
{
public:
    A_Interface( )            { };
    A_Interface( A *pA )    { m_pA = pA; }
    ~A_Interface( )        { };

    void Method_1( ) ;
    void Method_2( ) ;


private:
    A *m_pA;
};



class A
{
public:
    A( )  { m_Interface = A_Interface( this ); };
    ~A( ) { };

    A_Interface* GetInterface( ) { return &m_Interface; }

    void Method_1( ) { };
    void Method_2( ) { };
    void Method_3( ) { };
    void Method_4( ) { };


private:
    A_Interface m_Interface;
};

void A_Interface::Method_1( ) 
{ m_pA->Method_1( ); }

void A_Interface::Method_2( ) 
{ m_pA->Method_2( ); }


void main( )
{

    getch( );
}

PM MAIL   Вверх
ANTON_AL
Дата 29.1.2007, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 292
Регистрация: 27.1.2007

Репутация: нет
Всего: нет



Как всё просто оказывается...Спасибо! smile 

Это сообщение отредактировал(а) ANTON_AL - 29.1.2007, 15:19
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0449 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.