Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: forward declarations в C++
Форум на CrossPlatform.RU > Разработка > С\С++
Andrew Selivanov
Все мы иногда используем так называемые forward declarations. Обнаружил интересное правило, которое помогает пользоваться ими более осознанно:
Если в модуле используются только ссылки на класс A, то заголовочный файл этого класса подключать не обязательно, достаточно использовать forward declaration.
  class A;
  
  class B {
    private:
      A* fPtrA;
    public:
      void mymethod(const& A) const;
  };


Если класс B наследует от класса A или явно/неявно использует его, необходимо подключить загаловочный файл A.
  #include <A.h>
  
  class B : public A {
  
  };
  
  class C {
    private:
      A fA;
    public:
      void mymethod(A par);  
  }


http://www-subatech.in2p3.fr/~photons/suba...CPP-INC-1.shtml
AD
Цитата(Andrew Selivanov @ 11.7.2008, 18:47) *
Все мы иногда используем так называемые forward declarations. Обнаружил интересное правило, которое помогает пользоваться ими более осознанно:
Если в модуле используются только ссылки на класс A, то заголовочный файл этого класса подключать не обязательно, достаточно использовать forward declaration.

Лично я об этом давно знал! ;) :)
void*
я тоже, но как-то натыкался на такие грабли, да и все равно новичкам пригодится
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.