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

Перекрестное использование .h файлов и классов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить сумму http://www.cyberforum.ru/cpp-beginners/thread721934.html
Вычислить сумму 2/3+4/5+6/7+⋯+2n/(2n+1)
C++ Матрица, чтение из файла Для заданной матрицы размером 8 на 8 найти такие k, что k-я строка матрицы совпадает с k-м столбцом. Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный Вот, есть код, надо организовать чтение из файла (матрицы или еще чего-нибудь - не важно, главное чтобы оно было): #include <iostream> using namespace std; int main() { http://www.cyberforum.ru/cpp-beginners/thread721928.html
C++ Найти сумму всех элементов в тех строках, которые содержат хотя бы один отрицательный элемент
bool bFlag; for (int i=0; i < M; i++){ bFlag=false; for (int j=0; j < N; j++){ if(A<0){ bFlag=true; break; } } if (bFlag){ for (int j=0; j < N; j++)
C++ Написать не большую программу для нахождения произведения двух многочленов
Помогите, мне нужна небольшая программка вычисляющая произведения двух многочленов N-ой степени.
C++ Добавление в вектор объекта класса в конструкторе http://www.cyberforum.ru/cpp-beginners/thread721916.html
Почему у меня не получается сделать вот так? vector <C> Vec; class C { public:
C++ Не видит конца файла #include "stdafx.h" #include "allclass.h" #include <windows.h> #include <stdio.h> #include <vector> #include <iostream> #include <string> #include <conio.h> #include <fstream> подробнее

Показать сообщение отдельно
Anaal Nathrakh
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 4

Перекрестное использование .h файлов и классов - C++

06.12.2012, 22:06. Просмотров 871. Ответов 1
Метки (Все метки)

Добрый вечер! Никак не могу придумать запрос, по которому гуглить, поэтому обращаюсь к вам за помощью.

Суть проблемы такова. Имеются два .h файла с объявленными классами. Для определенности A.h и B.h, и классы А и В соответственно. Класс А должен использовать класс В и наоборот, класс В должен использовать класс В. Как реализовать подобное?

Если без обобщений, то сейчас есть два класса: BMP и JPEG, в которых есть возможности создавать BMP из JPEG и наоборот. Понятно, что подключать в оба заголовочных файла второй - не вариант, получается либо рекурсивное подключение, либо, если стоит макрозащита, в одном из заголовочных файлов не будет другого.

В похожей теме на Хабре встречал словосочетание forward declaration, но кажется, это не по теме.

Проблема, скорее всего, тривиальная, но решение в голову не приходит. Буду благодарен за помощь.

P.S. Не уверен, что код здесь необходим, но пусть будет.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//BMP.h
 
#ifndef _BMP_H_
#define _BMP_H_
 
class BMP
{
public:
 
    BMP(char* bmpPath);
    BMP(JPEG);
    //прочие методы и поля
};
#endif
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//JPEG.h
 
#ifndef _JPEG_H_
#define _JPEG_H_
 
class JPEG
{
public:
    JPEG(BMP);
    JPEG(char* jpegPath);
    JPEG();
    //остальные поля и методы
};
 
#endif
Добавлено через 1 час 55 минут
Еще два часа гугления не принесли никаких результатов...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru