Я хочу знать фактическую причину написания имен классов внутри пространства имен. Какую цель они решают? Включают ли они классы или делают что-то еще? Любая помощь приветствуется.Почему использовать классы в пространстве имен
namespace ns3 {
class Channel;
class SpectrumChannel;
class MyMod; ;
class NewModule : public NetDevice
{
public:
// methods and data
}
поиск 'forward declaration' – billz
Спасибо, так это способ сказать компилятору, что я буду использовать эти классы в будущем, так что держите их подготовленными? Я озадачен, потому что включенные файлы для вышеописанного не включают файлы, в которых определены классы (Channel, SpectrumChannel, MyMod). – user2532296
Он сообщает компилятору «Я расскажу вам подробнее о том, что они содержат позже, но мне нужно, чтобы вы знали, что они существуют сейчас». В типичном случае это означает, что где-то есть класс, который принимает ссылку или указатель на один из этих классов, но это неправильное место для того, чтобы actullay определял контент - или существует взаимная связь между кланами, поэтому класс X необходим классу Y, а класс Y относится к X каким-то образом. –