@ivandzemianchyk

Нужно поделить код на файлы C++. Где ошибка?

Main.cpp
#include "a.hpp"

a.hpp
#ifndef  A_HPP_
#define  A_HPP_
#include "b.hpp"
#include "c.hpp"
#include "d.hpp"
class A: public B, public C
{

D ddd;
};
#endif


a.cpp
#include "a.hpp"

B.hpp
#ifndef  B_HPP_
#define  B_HPP_
#include "d.hpp"
class B{
...
D ddd;
};
#endif


C.hpp
#ifndef  C_HPP_
#define  C_HPP_
#include "d.hpp"
class C{

D ddd;
};
#endif


d.hpp
#ifndef D_HPP_
#define  D_HPP_
class D{
};
#endif
  • Вопрос задан
  • 2638 просмотров
Решения вопроса 1
@ivandzemianchyk Автор вопроса
Спасибо за ответы.

Спасибо за ответы.
Решение оказалось не там где я его искал. Дело в том что в файле d.hpp все функции класса D я описывал в этом же файле(их было просто 2 и я не хотел их выбрасывать в .срр файл)

После переноса на .срр всё заработало как надо.

Если есть ещё добрая душа то буду рад узнать ответ на вопросы:

1. Чем отличается деларирование и описание функций в отном файле и в двух?
2. Почему в некоторых ситуациях описание в одном файле работало, а в некоторых нет?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
en.wikipedia.org/wiki/Include_guard

Ну и как-то у вас трешачек, классов не хватает и все такое...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы