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

Не определен базовый класс - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Возвращаемые значения функции http://www.cyberforum.ru/cpp-beginners/thread648822.html
Есть функция, которая должна вернуть в программу значение, но что то не так. int StartInfo(int FirstWidth,int FirstHeight) { printf ("Write width: "); scanf("%d",&FirstWidth); printf ("Write...
C++ Что изменить в программе? Что изменить в программе чтобы можно было работать с несколькими записями благодаря указателям на текущий следующий и предыдущий элемент#include "stdafx.h" #include "cstdlib" #include <iostream>... http://www.cyberforum.ru/cpp-beginners/thread648820.html
C++ Математический маятник
Доброго время суток. Нужно написать программу. Математический маятник совершает колебания по закону x(t) = A* sin(\omega *t + {\omega }_{0}). Частота \omega маятника известна. В начальный момент...
Что изменить в программе? C++
Что нужно изменить в программе или добавить чтобы была возможность работать не с одной а с несколькими записями?#include "stdafx.h" #include "cstdlib" #include <iostream> #include <conio.h>...
C++ Добавление имен в структуру http://www.cyberforum.ru/cpp-beginners/thread648766.html
Всем доброе время суток! Такое задание: Создать структуру ВИДЕОМАГАЗИН со следующими полями: struct Name{ Название фильма Режиссер Жанр Рейтинг популярности Цена диска
C++ Деление - воссоздать в коде (2*(x*x*x)-11*(x*x)+12*x+9)/(x-3) Нужно написать прогу чтобы решить кубическое уравнение. Я хочу знать как воссоздать в коде деление вроде: (2*(x*x*x)-11*(x*x)+12*x+9)/(x-3) и упростилось к квадратному уравнению. подробнее

Показать сообщение отдельно
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
09.09.2012, 01:59
Цитата Сообщение от iandi Посмотреть сообщение
[SPOILER=Хедеры][CPP]
#include "Port.h"
#include "Tanker.h"

class Tanker;
class Port;
а что это такое? зачем эти инклуды? ты сам себя за волосы пытался поднять? и здесь тоже не получится.
если классы содержат указатели друг на друга - инклуды вводят компилятор в ступор: например, ClassA.h:
C++
1
2
3
4
5
#include "ClassB.h"
 
ClassA{
 ClassB *m_pClB;
};
и ClassB.h:
C++
1
2
3
4
5
#include "ClassA.h"
 
ClassB{
 ClassA *m_pClA;
};
компилятор открывает первый файл, встречает инклуд и включает его содержимое. там - инклуд, призывающий включить первый файл. идет распознавать ClassA, но не знает, что такое ClassB. если идет с другой стороны - та же история. для этого и существует "объявление наперед":
C++
1
2
3
4
class ClassB;
ClassA {
 ClassB *m_pClB;
...
и компилятор все понимает. он знает, что ClassB - это класс, подробности о котором он узнает позже.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru