Форум программистов, компьютерный форум CyberForum.ru

Сложности с построением многофайлового решения - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить количество гласных букв в первой строке файла F2 http://www.cyberforum.ru/cpp-beginners/thread1130639.html
Скопировать из файла F1 в файл F2 все строки, в которых нет одинаковых слов. Определить количество гласных букв в первой строке файла F2.
C++ Анонимные функции, как параметр Здравствуйте. Есть проблема - много функций, каждой придумывать имена не хочу, тем более, что они мне не пригодятся. Суть такова: void _F() { Bla-bla-bla; } class Object { public: http://www.cyberforum.ru/cpp-beginners/thread1130636.html
C++ Дан текстовый файл. Напечатать первый символ каждой строки
Помогите, пожалуйста. Дан текстовый файл. Напечатать первый символ каждой строки. #include <fstream> #include <iostream> #include <string> using namespace std; int main() { ifstream in("f.txt"); string ;
Как вывести символ по адресу scanf C++
Почему исключительная ситуация? #include <stdio.h> int main(){ char* p; printf("Vvedite adress: "); scanf("%p",&p); printf("Po etomu adresu hranits9 zna4enie%p is %c\n", p, *p);
C++ Задание индекса для доступа к элементу массива в виде char * http://www.cyberforum.ru/cpp-beginners/thread1130621.html
по сабжу: a = 2.3234; a = 2.345e12; Каким образом можно организовать такой доступ к элементам массива?
C++ Для цепи схемы, пользуясь законами Кирхгофа, найти токи и составить баланс мощностей для цепи схемы, пользуясь законами Кирхгофа, найти токи и составить баланс мощностей, если известны величины ЭДС Е1 Е2 Е3 Е4 и сопротивления R1 R2 R3 R4 R5 R6. Составленную систему уравнений вычислить численным методом. Оценить точность расчета подробнее

Показать сообщение отдельно
Rengen
3 / 3 / 0
Регистрация: 15.01.2012
Сообщений: 67
26.03.2014, 20:33     Сложности с построением многофайлового решения
Есть 3-и класса. Каждый в файле. Не смотрите что реализация в h-ке, это просто чтобы было проще и удобнее понимать. Ошибка построения в итоге такая же, если даже разделить объявление и определение. Все это дело не строиться. Лучше приведу код.

SubscribersList
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#pragma once
 
#include "SystemBase.h"
#include "Entity.h"
 
namespace Engine {
 
    class SubscribersList {
        friend SystemBase;
 
    public:
        SubscribersList() { }
 
        void f(Entity* e) { }
    };
}
Entity.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#pragma once
 
#include "SystemBase.h"
 
namespace Engine {
 
    class Entity {
    public:
        Entity() { }
 
        void s(SystemBase* sb) { }
    };
 
}
SystemBase
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#pragma once
#include "SubscribersList.h"
#include "Entity.h"
 
namespace Engine {
 
    class SystemBase {
    public:
        SystemBase() { }
 
        void g(Entity* e) { }
 
    private:
        SubscribersList m;
 
    };
}
Некоторые условия изменения кода если кто будет менять. После friend слово class не ставить, ибо он уже был описан и подключен соответствующим файлом. Должно работать так. Если убрать все упоминания про Entity, то как раз так и работает.
Это все билдится если
1 Затолкать в один файл.
2 Перед неопределенными для компилятора типами (Entity, SystemBase) поставить class. Однако все потом опять валится как только пытаешься вынести реализацию в cpp.
VS 2010.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru