Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 20.02.2016
Сообщений: 21

Рекурсивное наследование

21.04.2016, 16:23. Показов 2373. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
Допустим, у нас есть файл fst.h:

C++
1
2
3
4
5
6
7
8
#include <snd.h>
 
class Fst
{
    Snd b; // Snd was not declarated in this scope / template argument 2 is invalid  / template argument 4 is invalid 
public:
    someone(Snd); // Snd was not benn declareted
};
И есть другой файл snd.h:

C++
1
2
3
4
5
6
#include <fst.h>
 
class Snd : public Fst
{
   int x;
};
Почему это возникает и как это исправить?

P.S. Это просто пример, если нужен полный код, то могу залить
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.04.2016, 16:23
Ответы с готовыми решениями:

Заменить наследование классов на наследование интерфейсов
#include &lt;iostream&gt; #include &lt;assert.h&gt; using namespace std; int people_on_base = 100; int vehicles_on_base = 100; double...

Рекурсивное простое
Напишите рекурсивную функцию, определяющую, является ли заданное натуральное число простым. Простым называется натуральное число, большее...

Рекурсивное вычисление
Доброе время суток!!! Помогите пожалуйста решить две задачи с помощью рекурсии. За ранее огромное спасибо!!! Задача №1. Написать...

8
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
21.04.2016, 16:32
sm4ll_3gg, вы хотите объявить класс, для создания которого нужен другой класс, для которого. в свою очередь, нужен первый класс.
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
21.04.2016, 16:37
sm4ll_3gg,
Во-первых, треугольные скобки используются для включения файлов, которые есть в составе компилятора(или дополнений всяких типа boost'a), пользовательские файлы подключаются через кавычки, так что #include "snd.h". Хотя возможно, что так можно и, я чего-то не знаю.
Во-вторых, как вы пытаетесь в главный в иерархии класс засунуть потомок этого класса? Это невозможно потому, что класс Fst ничего не знает о Snd.
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
21.04.2016, 16:39
такое будет возможно сделать если в Fst объект Snd статический или указатель/ссылка.
0
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
21.04.2016, 16:42
C++
1
2
3
4
5
6
7
8
9
class Second;
class First
{
    void method(Second s);
};
 
class Second:First
{
};
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
21.04.2016, 17:00
Renji, ну ошибочка же ж( вы чего(
0
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
21.04.2016, 17:01
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
Renji, ну ошибочка же ж( вы чего(
Никакой ошибочки, все отлично компилируется.
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
21.04.2016, 17:09
Renji, но ведь incomplite type не может быть в объявлении метода в качестве параметра по значению
0
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
21.04.2016, 17:22
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
Renji, но ведь incomplite type не может быть в объявлении метода в качестве параметра по значению
Не может быть в объявлении тела метода (function definition). Про объявление одного заголовка (function declaration) уговору не было.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.04.2016, 17:22
Помогаю со студенческими работами здесь

Рекурсивное сложение
Дорогие друзья,объясните пожалуйста, если функция возвращает значение fib(n-1) + fib(n-2); при значении к примеру n=5,какой будет...

Рекурсивное вычисление x!-sin(x)
помогите пожалуйста написать программу s=x!-sin(x)

Рекурсивное вычисление суммы.
Здравствуйте! Помогите пожалуйста. Написать программу, рекурсивно вычисляющую сумму. Найти сумму ряда с точностью Eps, общий член...

Рекурсивное возведение в степень
Поднести в степень (положительное целое число) действительное ненулевое число. Использовать рекурсию.

Рекурсивное определение типов
Здравствуйте, у меня возникла проблема. Есть код typedef void* BaseType; typedef element *ptrel; typedef struct { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru