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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Shustrikarsk
0 / 0 / 0
Регистрация: 13.02.2013
Сообщений: 4
#1

Ошибка при выполнении программы - C++

16.04.2013, 15:54. Просмотров 397. Ответов 1
Метки нет (Все метки)

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
//set.h
#pragma once
 
typedef unsigned short WORD;
 
class Set
{
private:
    int minElem;
    int maxElem;
    WORD *elems;
    int numWords;
 
    friend const Set & operator | (const Set & s1, const Set & s2);
    friend const Set & operator & (const Set & s1, const Set & s2);
    friend const Set & operator - (const Set & s1, const Set & s2);
    friend const Set & operator - (const Set & s);
public:
    Set(int min=0, int max = 255);
    Set(const Set & s);
    ~Set();
 
    bool Has(int n) const;
 
    Set & operator |= (int n);
    Set & operator |= (const Set & other);
 
    Set & operator &= (const Set & other);
 
    Set & operator -= (int n);
    Set & operator -= (const Set & other);
 
    Set & Inverse();
};
//SetGraph.h
#pragma once
 
#include "graph.h"
#include "Set.h"
 
class MatrixGraph;
class ListGraph;
 
class SetGraph : public Graph
{
private:
    friend SetGraph * Convert(const MatrixGraph & srcGraph);
    friend ListGraph * Convert(const SetGraph & srcGraph);
 
    Set **graph; //наш граф
    int vertexNumber; //колво элементов в массиве
 
public: 
    SetGraph(int n) : vertexNumber(n), graph(new Set*[n]) //конструктор. Кол-во вершин определяется изначально. создается граф за счет создания массива указателей на множество
    {
        for(int i=0;i<n;i++)
        {
            graph[i]= new Set(0,n); // множество дополнительно инициализируется
        }
    }
    ~SetGraph();
 
    int CountVertex() const //кол-во вершин
    {
        return vertexNumber;
    }
 
    void AddArc(int from, int to);
    bool HasArc(int from, int to) const;
};
///////////////////////////////////////////
//SetGraph.cpp
#include "SetGraph.h"
 
SetGraph::~SetGraph() //наш диструктор
{   //по элементам проходим и удаляем их из памяти
    for (int i=0;i<vertexNumber;i++)
    {
        delete graph[i];
    }
    delete [] graph;
}
 
void SetGraph::AddArc(int from, int to) 
{
    if(from<0 || from>= vertexNumber || to<0 || to >= vertexNumber)
        return;
    *graph[from] |= to; //проверка наличия вершины и проверка нудлей вершины. обращаемся к вершине из которой вытаскиваем множество и добавляем туда, куда должно входить
}
 
 
bool SetGraph::HasArc(int from, int to) const
{
    if(from<0 || from>= vertexNumber || to<0 || to >= vertexNumber)
        return false;
    return graph[from]->Has(to); // тут только вызов метода Хес для соответсвующего множества в множество соотвествующего вершине из которого дуга исходит 
}

Вот текст ошибок:
Код
1>SetGraph.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Set::~Set(void)" (??1Set@@QAE@XZ) в функции "public: void * __thiscall Set::`scalar deleting destructor'(unsigned int)" (??_GSet@@QAEPAXI@Z)
1>SetGraph.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: class Set & __thiscall Set::operator|=(int)" (??_5Set@@QAEAAV0@H@Z) в функции "public: virtual void __thiscall SetGraph::AddArc(int,int)" (?AddArc@SetGraph@@UAEXHH@Z)
1>SetGraph.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: bool __thiscall Set::Has(int)const " (?Has@Set@@QBE_NH@Z) в функции "public: virtual bool __thiscall SetGraph::HasArc(int,int)const " (?HasArc@SetGraph@@UBE_NHH@Z)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2013, 15:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка при выполнении программы (C++):

Ошибка при выполнении программы - C++
Выдает вот такую ошибку при выполнении программы. Компиляция происходит нормально. а работать не хочет. Уже запустил легкую программу, но...

Ошибка при выполнении программы. - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;time.h&gt; #include &lt;cstdlib&gt; using namespace std; int main () { int n, m, k; ...

Ошибка <hash_map> при выполнении программы - C++
При выполнении простого консольного проекта C++ #include &quot;std_lib_facilities.h&quot; int main() { cout &lt;&lt; &quot;I hate u, VS!\n&quot;; ...

При выполнении программы выходит ошибка - C++
Когда выполняется программа выходит ошибка: Необработанное исключение по адресу 0x77A8205E (msvcr120d.dll) в Тест графиков.exe: 0xC0000005:...

Настройка unicode. Ошибка при выполнении программы - C++
Здравствуйте. Знаю, что есть tchar.h, но мне нужно настроить unicode самому. #ifdef UNICODE #define TCHAR wchar_t #define...

Динамический массив. Ошибка при выполнении программы - C++
Программа должна предоставить заполнение массива пользователю, а дальше вывести массив на экран. (Массив динамический) При компиляции...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Эксперт CЭксперт С++
13226 / 7498 / 845
Регистрация: 27.09.2012
Сообщений: 18,417
Записей в блоге: 3
Завершенные тесты: 1
16.04.2013, 21:36 #2
Нет реализации соответствующих методов класса Set
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2013, 21:36
Привет! Вот еще темы с ответами:

Ошибка нарушения прав доступа при выполнении программы - C++
Програмка компилируется, но не запускается. Ошибка: 1000 (0) handle_exceptions: Exception: STATUS_ACCESS_VIOLATION preo 1000 (0)...

Удаление комментариев из текста программы с использованием STL, ошибка при выполнении - C++
Здравствуйте решал задачу с использованием STL из книги Страуструпа 6.22 возникла проблема программа вылетает, помогите пожалуйста...

Ошибка при выполнении программы "division by zero" - C++
Прошу, обьясните мне, почему когда я уже запускаю прогу и ввожу числа вилетает ошибка:

Что будет выведено на экран при выполнении следующей программы при n = 5 ? - C++
Пожалуйста, очень прошу помогите с тестами(( 3)Что будет выведено на экран при выполнении следующей программы при n = 5 ? ...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru