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

Конструктор класса не видит конструктор по умолчанию другого класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нужно ли повторно перекомпилировать код при изменении определение функции http://www.cyberforum.ru/cpp-beginners/thread936351.html
Здравствуйте, прочитав тему Особенность объявления функции , а именно сообщение tzeentch: Допустим, у нас вот такая ситуация: функция a() вызывает функцию b(), а функция b(), в свою очередь, функцию a(). Опишите мне это без предварительного обьявления Потом, h-файлы придумали для ускорения компиляции проектов в доисторические времена, ведь при изменении h-файла надо перекомпилировать все...
C++ Объектно-ориентированный анализ и проектирование с примерами приложений Стоит ли её читать, а то пролистал в середине кодов никаких нет один текст + немного картинок как из газеты? Добавлено через 41 минуту ??? http://www.cyberforum.ru/cpp-beginners/thread936313.html
Мне бы книжку. может кто подскажет? C++
Здрасти... Не хотел лишний раз создавать тему, но ответов на мои вопросы гугл мне вразумительных не дал, а задавать свои вопросы в чужих темах чревато новыми помидорами :tomatos: Сегодня я выяснил, что специализироваться мне нужно на технологиях COM и моделях МТА. Хотелось бы узнать ваше мнение, что из литературы дало бы мне полное и доходчивое объяснение этим технологиям. Ну и в...
ostream_iterator C++
Имеется массив объектов string - result и текстовой файл. При выводе на экран с помощью ostream_iterator<string,char>out(cout,"\n") copy(result.begin(),result.end(),out); на каждой строке находится по объекту string. Но при попытке вывести в файл ofstream res; res.open("1.txt"); copy(result.begin(),result.end(),ostream_iterator<string,char>(res,"\n")); все объекты пишутся слитно. Что не так?
C++ Перевод каретки и ввод данных в консоли http://www.cyberforum.ru/cpp-beginners/thread936292.html
Хотелось бы ввести данные в две строки за один раз... В простейшем случае пример выглядит так: #include <iostream> #include <cstdio> using namespace std; int main() { char kniga, film; cout << "Какой фильм про хоббитов вы знаете?\n";
C++ Перевод каретки и ввод данных в консоли Хотелось бы ввести данные в две строки за один раз... В простейшем случае пример выглядит так: #include <iostream> #include <cstdio> using namespace std; int main() { cout << "Какой фильм про хоббитов вы знаете?\r"; cin >> lotr; //Вводит символы до нажатия Enter подробнее

Показать сообщение отдельно
Керра
 Аватар для Керра
1275 / 443 / 45
Регистрация: 24.08.2011
Сообщений: 2,131
11.08.2013, 10:31  [ТС]     Конструктор класса не видит конструктор по умолчанию другого класса
Toshkarik, ага... сейчас попробуем...

Добавлено через 2 минуты
а, не, уже завтра попробуем)) спать надо))

Добавлено через 10 часов 4 минуты
Toshkarik, сработало)

Добавлено через 39 минут
Теперь в Classes.cpp ошибка в строке 101 - Access violation reading...
Classes.h
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
class Node
{
public:
    Node();
    virtual ~Node();
    virtual void Show() = 0;
    virtual Node * Insert(int) = 0;
};
 
class HeadNode: public Node
{
private:
    Node * next;
public:
    HeadNode();
    ~HeadNode();
    Node * Insert(int theValue);
    void Show();
};
 
class InternalNode: public Node
{
private:
    Node * next;
    int value;
public:
    InternalNode();
    InternalNode(int theValue, Node * theNext);
    ~InternalNode();
    Node * Insert(int);
    void Show();
};
 
class TailNode: public Node
{
public:
    TailNode();
    ~TailNode();
    Node * Insert(int);
    void Show() { };
};
 
class List
{
private:
    HeadNode * head;
public:
    List();
    ~List();
    void ShowAll();
    void Insert(int theValue);
};

Classes.cpp
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#include "stdafx.h"
#include <iostream>
#include "Classes.h"
using namespace std;
 
Node::Node()
{ 
    cout << "Node constructor...\n";
};
 
Node::~Node()
{ 
    cout << "Node destructor...\n"; 
};
 
HeadNode::HeadNode() 
{
    next = new TailNode; 
    cout << "HeadNode constructor...\n";
};
 
HeadNode::~HeadNode() 
{ 
    delete next;
    cout << "HeadNode destructor...\n";
};
 
Node * HeadNode::Insert(int theValue)
{
    next = next->Insert(theValue); 
    return this;
};
 
void HeadNode::Show()
{ 
    next->Show(); 
};
 
InternalNode::InternalNode()
{ 
    cout << "InternalNode constructor nr.1...\n"; 
};
 
InternalNode::InternalNode(int theValue, Node * theNext)
{ 
    value = theValue;
    next = theNext;
    cout << "InternalNode constructor nr.2...\n"; 
}
 
InternalNode::~InternalNode()
{ 
    delete next;
    cout << "InternalNode destructor...\n";
};
 
void InternalNode::Show()
{ 
    cout << value << " "; 
};
 
Node * InternalNode::Insert(int theValue)
{
    if (theValue <= value)
    {
        Node * newNode = new InternalNode(theValue,this);
        return newNode;
    }
    else
    {
        next = next->Insert(theValue);
        return this;
    }
    return this;
};
 
TailNode::TailNode()
{ 
    cout << "TailNode constructor...\n"; 
};
 
TailNode::~TailNode()
{ 
    cout << "TailNode destructor...\n"; 
};
 
Node * TailNode::Insert(int theValue)
{
    Node * newNode = new InternalNode(theValue,this);
    return newNode;
};
 
List::List()
{
    head = new HeadNode;
    cout << "List constructor...\n";
};
 
List::~List()
{
    delete head;
    cout << "List destructor...\n";
};
 
void List::ShowAll()
{
    head->Show();
};
 
void List::Insert(int theValue)
{
    head->Insert(theValue);
};

Список.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include "stdafx.h"
#include <iostream>
#include "Classes.h"
using namespace std;
 
int main()
{
    List myList;
    myList.~List();
    system("pause");
    return 0;
}
 
Текущее время: 02:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru