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

unresolved external - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу, подсчитывающую, сколько можно набрать различных семизначных «шахматных» номеров... http://www.cyberforum.ru/cpp/thread77392.html
Условие: Телефонный номер называется «шахматным», если его цифры набираются на телефонном кнопочном номеронабирателе ходом шахматного коня. Написать программу, подсчитывающую, сколько можно набрать...
C++ Напишите код, пожалуйста (в С) необходимо разработать программу, в которой выполняется ввод списка записей определенного типа, а затем – обработка списка. Сначала в программе должен вводиться размер списка (целое число), а сам... http://www.cyberforum.ru/cpp/thread77354.html
Глючат битовые операторы. C++
Когда пользуюсь битовыми операторами, программа выдает хз какие значения: 18|89 = 91 должно быть 89, т. к. объединение - большая часть 18&89 = 16 (18) 18^89 = 75 (72) ~18 = -19 ...
С++, объявление классов C++
Здравствуйте товарищи. Возникла следующая проблема: пусть есть два класса: А и В; в классе А есть переменная типа В, в классе В есть переменная типа А. Т.к. кто-то из них объявляется первым,...
C++ Написать и протестировать функцию http://www.cyberforum.ru/cpp/thread77153.html
Написать и протестировать функцию, которая в прямоугольной матрице находит сумму элементов j-й строки.
C++ 7 семинар Помогите мне на С надо доделать задачки 1)Задать квад.матрицу A и B 4*4 вычислить и вывести матрицу С, которая явл. произведением А и В 2)задать матрицу А 4*3 Построить транспониров. матрицу А^T... подробнее

Показать сообщение отдельно
0PP0$1T3
5 / 5 / 1
Регистрация: 21.12.2009
Сообщений: 6

unresolved external - C++

21.12.2009, 12:12. Просмотров 750. Ответов 2
Метки (Все метки)

Имеется сольюшн из 3х файлов:
List.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
#include "stdafx.h"
 
#ifndef _LIST_H_
#define _LIST_H_
template <class X> class List
{
    class Node
    {
    public:
        X key;
        Node *prev, *nx;
        Node(Node *pr=NULL,Node *nx=NULL, X k=0){prev=pr;/*nx=n*/;key=k;}
    };
    Node *head,*current,*last, *fnd;
    public:
        List ();
        List(List&);
        List <X> operator =(List<X> &x);
        List <X> operator +(List<X> &x);
        List <X> operator -(List<X> &x);
        bool Next();
        bool Prev();
        void Begin();
        void End();
        void Add_Last(X&);
        void Add_Cur(X&);
        void Add_Fnd(X&);
        bool Find(X&);
        bool Del_F();
        bool Del(X&);
        void Del_Last();
        bool Empty();
        bool Get_Value(X &);
        bool Get_Value_F(X &);
        bool Put_Value(X &);
        bool Put_Value_F(X &);
};
#endif
List.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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#include "stdafx.h"
#include "List.h"
 
template <class X> List<X> ::List()
{
    head=new Node;
    current=NULL;
    last=NULL;
    fnd=NULL;
}
 
template <class X> List <X>::List(List<X> &x)
{
    Node *p=x.head;
    head=new Node;
    Node *q=head;
    q->nx=NULL;
    q->prev=NULL;
    fnd=NULL;
    while(p->nx)
    {
        q->nx=new Node(q,0,p->nx->key);
        q=q->nx;
        p=p->nx;
    }
    last=q;
    current=NULL;
}
 
template <class X> List <X> List<X>::operator =(List<X> &x)
{
    if(this!=&x)
    {
        ~(*this);
        Node *p=x.head;
        head=new Node;
        Node *q=head;
        q->nx=NULL;
        q->prev=NULL;
        fnd=x.fnd;
        while(p->nx)
        {
            q->nx=new Node(q,0,p->nx->key);
            q=q->nx;
            p=p->nx;
        }
        last=q;
        current=x.current;
    }
    return *this;
}
 
template <class X> List <X> List<X> ::operator+(List <X> &x)
{
    List a(*this);
    Node *q=head;
    while(q->nx)
        q=q->nx;
    Node *p=x.head;
    while(p->nx)
    {
        q->nx=new Node(q,0,p->nx->key);
        q=q->nx;
        p=p->nx;
    }
    last=q;
    current=head->nx;
    fnd=NULL;
    return a;
}
 
template <class X> List <X> List<X> ::operator-(List <X> &x)
{
    Node *q=x.head->nx,*p=head->nx;
    while(q&&p)
    {
        while(q&&p&&p->key!=q->key)
            q=q->nx;
        if(p->key==q->key)
        {
            X t=p->key;
            p->key=q->key;
            q->key=t;
            last=last->prev;
        }
        else
            p=p->nx;
        q=head->nx;
    }
}
 
template <class X> void List <X>::Add_Cur(X&x)
{
    current?
        current=last=head->nx=new Node(0,0,x);
}
 
template <class X> void List <X>::Add_Fnd(X&x)
{
    fnd?fnd->key=x;
}
 
template <class X> void List <X>::Add_Last(X&x)
{
    last?
        last=last->nx=new Node(last,NULL,x):
        head->nx=new Node(NULL,NULL,x),
        last=current=head->nx;
}
 
template <class X> bool List <X>::Del(X&x)
{
    Node *q=head->nx;
    while(q&&q->key!=x)
        q=q->nx;
    if(q)
    {
        fnd=q;
        Del_F();
        return 1;
    }
    return 0;
}
 
template <class X> bool List <X>::Del_F()
{
    if(fnd)
    {
        fnd->prev?fnd->prev->nx=fnd->nx,fnd->nx->prev=fnd->prev:head->nx=fnd->nx,fnd->prev=NULL;
        fnd==current?current=NULL;
        fnd==last?last=NULL;
        delete fnd;
    }
}
 
template <class X> void List <X>::Del_Last()
{
    if(last!=head->nx)
        last=last->prev,
        ~(last->nx);
}
 
//etc
и main.cpp:
#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include "List.h"
//#include "List.cpp"
using namespace std;

void main()
{
List <int> a,b;
cout<<a.Empty()<<endl;
for(int i=0; i<10; i++)
a.Add_Last(i);
cout<<a.Empty()<<endl;
getch();
}

припопытке скомпилировать получаю ошибки, что функции .Empty(), . Add_Last() и конструктор - unresolved external, что делать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru