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

Объявление и определение классов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить количество отличников 1-2 курса на всех факультетах группы у которых нет отличников http://www.cyberforum.ru/cpp-beginners/thread952598.html
// Сторити масив структур, яки складаються з елементів: факультет, курс, група, призвіще студ,езаменаційна оцінка. Візначити: кількість //відміників 1-2 курса на всіх факультетах; групи у яких не має відміників; призвіще студентів відміників на 3 курсі "ТООТ". # include <stdio.h> # include <conio.h> # include <math.h> # include <malloc.h> # include <string.h> # define N 2
C++ C++ не получается (на англ) Можете кто нибудь дать код Write a program that reads in the size of the side of a square and then prints a hollow square of that size out of asterisks and blanks. Your program should work for squares of all side sizes starting from 1. For example, if your program reads a size of 5, it should print ***** * * * * * * ***** http://www.cyberforum.ru/cpp-beginners/thread952595.html
C++ Написать программу вычисления количества печатаемых символов в файле
Помогите Написать программу вычисления количества печатаемых символов в файле. Обработать ошибки. DEV C++ Заранее спасибо!
C++ Написать программу решения квадратного уравнения. DEV C++
Помогите пожалуйста !! Написать программу решения квадратного уравнения. Корни могут быть комплексными. Установить ширину поля 10 символов, установить точность 4 цифры, заполнить вместо пробелов символом $ с помощью функций и манипуляторов. Очень надо.... Заранее спасибо!
C++ Написать программу вычисления наибольшего общего делителя двух целых чисел Dev C++ 4.9.9.2 http://www.cyberforum.ru/cpp-beginners/thread952583.html
Помогите написать программу! Написать программу вычисления наибольшего общего делителя двух целых чисел. Наибольший общий делитель рекурсивно вычисляется следующим образом; GCD(m, n) is: if m mod n equals 0 then n; else GCD(n, m mod n); Программа должна использовать цикл for. Входные данные поступают с клавиатуры. Результат выводится на экран. Предусмотреть обработку ошибок. Заранее...
C++ Площадь треугольника Помогите пожалуйста! Ошибку выдаёт в 13-14 строчках. Как правильно записать Р как функцию? Даны стороны треугольника a, b, c. Найти его площадь по формуле: sqrt( p (p-a)(p-b)(p-c)) , p – полупериметр треугольника. Код: void MainWindow::Treugolnik() { double A,B,C; double P; double S; QString a,b,c,; подробнее

Показать сообщение отдельно
BESSON_off
 Аватар для BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 329
11.09.2013, 19:52     Объявление и определение классов
Всем здрасти!

Имеем простецкий код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class Node;
class HeadNode;
class TailNode;
class Node
{
public:
Node() {}
virtual ~Node(){}
};
 
class HeadNode : public Node
{
Node * myNext;
public:
HeadNode() {myNext = new TailNode;}
~HeadNode() {delete myNext;}
};
 
class TailNode : public Node
{
TailNode() {}
~TailNode() {}
};
 
int main()
{
return 0;
}
Если скомпилить этот код, то нам покажут ошибку "TailNode: нет подходящего конструктора".
Если переставить местами классы TailNode и HeadNode, то программа заработает... Но если, после этого нам нужно добавить еще один класс, производный от Node, то нам опять придется определять, где же его расположить, чтобы он определялся до всех своих упоминаний.
Так вот - подскажите пожалуйста, как правильно объявить все классы до их определения, чтобы программа могла видеть все созданные классы, независимо от своего расположения? (так как объявил классы я "class Node;" - не помогает).
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru