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

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

Восстановить пароль Регистрация
 
Shustrikarsk
0 / 0 / 0
Регистрация: 13.02.2013
Сообщений: 4
16.04.2013, 15:54     Ошибка при выполнении программы #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)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2013, 15:54     Ошибка при выполнении программы
Посмотрите здесь:

C++ Ошибка при выполнении программы.
ошибка при выполнении программы! C++
Что будет выведено на экран при выполнении следующей программы при n = 5 ? C++
C++ Удаление комментариев из текста программы с использованием STL, ошибка при выполнении
При выполнении разных операций с MS VS2013, например, при закрытии, иногда появляется ошибка C++
Ошибка при выполнении программы "division by zero" C++
C++ Ошибка памяти при выполнении, при компиляции не выводит ошибки
C++ При выполнении программы выходит ошибка

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
16.04.2013, 21:36     Ошибка при выполнении программы #2
Нет реализации соответствующих методов класса Set
Yandex
Объявления
16.04.2013, 21:36     Ошибка при выполнении программы
Ответ Создать тему
Опции темы

Текущее время: 18:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru