Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
artart96
-12 / 0 / 4
Регистрация: 04.10.2014
Сообщений: 272
1

Ссылка на неразрешенный внешний символ

26.11.2015, 21:33. Просмотров 611. Ответов 2

Identification_Organisation.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
#pragma once
#include<string>
using namespace std;
 
class Main_Organisation {
    int ID_number;//Идентификационный номер пользователя
    string Login;//Логин пользователя
    string Password;//Пароль пользователя
public:
    Main_Organisation();//Конструктор класса
    ~Main_Organisation();//Деструктор класса
 
    //Методы Set и Get для компонентов класса
    void Set_ID_Number(int);
    int Get_ID_Number();
    void Set_Login(string);
    string Get_Login();
    void Set_Password(string);
    string Get_Password();
    
    //Перегрузки операторов ввода - вывода компонентов класса
    friend fstream& operator << (fstream&stream, Main_Organisation &ob);
    friend ostream& operator << (ostream&stream, Main_Organisation ob);
 
    friend fstream& operator >> (fstream&stream, Main_Organisation &ob);
    friend istream& operator >> (istream&stream, Main_Organisation &ob);
 
    int Main_Enter_Menu();//Главное меню(Выбор)
    int Main_Enter();//Главное меню(Функция)
 
    void Enter();//Вход в систему
    void Control(Main_Organisation);//Функция проверки введенных данных для идентификации(пользователь или администратор)
    void Registration();//Функция регистрация нового пользователя
};
Identification_Organisation.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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
#include"Admin.h"
#include "Identification_Organisation.h"
#include<iostream>
#include<conio.h>
#include<fstream>
#include<string>
using namespace std;
 
Main_Organisation::Main_Organisation()
{
    ID_number = 0;
    Login = "Unknown Name";
    Password = "No password";
}
 
Main_Organisation::~Main_Organisation()
{
 
}
 
void Main_Organisation::Set_ID_Number(int n)
{
    ID_number = n;
}
 
int Main_Organisation::Get_ID_Number()
{
    return ID_number;
}
 
void Main_Organisation::Set_Login(string l)
{
    Login = l;
}
 
string Main_Organisation::Get_Login()
{
    return Login;
}
 
void Main_Organisation::Set_Password(string p)
{
    Password = p;
}
 
string Main_Organisation::Get_Password()
{
    return Password;
}
 
int Main_Organisation::Main_Enter_Menu()
{
    bool flag = false;
    int Vibor;
    while (flag != true)
        {
            
            cout << "[1] - Вход в систему" << endl << "[2] - Регистрация" << endl << "[3] - Выход" << endl << "Ваш выбор:";
            while (!(cin >> Vibor))
            {
                cout <<"НЕКОРРЕКТНЫЙ ВВОД!"<<endl<<"Выберители 1 или 2 или 3"<<endl<<"[1] - Вход в систему" << endl << "[2] - Регистрация" << endl << "[3] - Выход" << endl << "Ваш выбор:";
                cin.clear();
                cin.ignore(numeric_limits<streamsize>::max(), '\n');
            }
            if (Vibor == 1 || Vibor == 2 || Vibor == 3) flag = true; 
            else cout << "Выберители 1 или 2 или 3" << endl;
        }
    return Vibor;
}
 
int Main_Organisation::Main_Enter()
{
    while (1)
    {
        switch (Main_Enter_Menu())
        {
        case 1:
       break;
        case 2:this->Registration(); system("cls");
       break;
        case 3: exit(0); break;
        default: cout << "Не верный выбор!Выберите 1 или 2 или 3!" << endl;
            break;
        }
    }
    return 0;
}
 
void Main_Organisation::Enter()
{
    Admin ob;
    ob.Admin_Menu();
    /*Main_Organisation *ptr = new Main_Organisation;
    cout << "Введите логин:";
    getline(cin, ptr->Login);
    cout << "Введите пароль:";
    getline(cin,ptr->Password);
 
    if(ptr->Login == "ArtArt" && ptr->Password == "18101996") 
    {
        delete ptr;
        
    }*/
}
 
void Main_Organisation::Control(Main_Organisation ob)
{
}
 
void Main_Organisation::Registration()
{
    system("cls");
    Main_Organisation *ptr = new Main_Organisation;
    cout << "Введите логин:";
    cin >> ptr->Login;
    cout << "Введите пароль:";
    cin >> ptr->Password;
 
    ofstream fout;
    fout.open("New_User.txt", ios::app);
    fout << ptr->Login << endl << ptr->Password << endl;
    fout.close();
 
    cout << "Данные сохранены.Ожидайте одобрения администратора"<<endl;
    _getch();
    delete ptr;
}
 
fstream& operator << (fstream&stream, Main_Organisation &ob)
{
    stream << ob.ID_number;
    stream << ob.Login;
    stream << ob.Password;
    return stream;
}
 
ostream& operator << (ostream&stream, Main_Organisation ob)
{
    stream <<"Идентификационный номер:"<< ob.ID_number;
    stream <<"Логин:"<< ob.Login;
    stream <<"Пароль:"<< ob.Password;
    return stream;
}
 
fstream& operator >> (fstream&stream, Main_Organisation &ob)
{
    stream >> ob.ID_number;
    stream >> ob.Login;
    stream >> ob.Password;
    return stream;
}
 
istream& operator >> (istream&stream, Main_Organisation & ob)
{
    {
            bool flag = false;
            while (flag != true)
            {
 
                cout <<"Идентификационный номер:";
                while (!(stream>>ob.ID_number))
                {
                    cout << "НЕКОРРЕКТНЫЙ ВВОД!" <<endl<<"Номер должен быть числовым"<<"Идентификационный номер:";
                    stream.clear();
                    stream.ignore(numeric_limits<streamsize>::max(), '\n');
                }
        }
    }
    
    getline(stream, ob.Login);
    getline(stream, ob.Password);
    return stream;
}
Admin.h:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#pragma once
#include<string>
 
using namespace std;
 
class Admin {
    string Login;//Логин
    string Password;//Пароль
public:
    Admin();//Конструктор класса
    ~Admin();//Деструктор класса
    int Menu();//Меню администратора(Выбор)
    int Admin_Menu();//Меню администратора(Функция)
};
Admin.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
#include "Admin.h"
#include<iostream>
#include<string>
 
using namespace std;
 
Admin::Admin()
{
    Login = "ArtArt"; 
    Password = "Ann9173668"; 
}
 
int Admin::Menu()
{
        bool flag = false;
        int Vibor;
        while (flag != true)
        {
 
            cout << "[1] - Проверка новых пользователей" << endl << "[2] - Назад" << "Ваш выбор:";
            while (!(cin >> Vibor))
            {
                cout << "НЕКОРРЕКТНЫЙ ВВОД!" << endl << "Выберите 1 или 2" << endl << "[1] - Проверка новых пользователей" << endl << "[2] - Назад" << endl << "Ваш выбор:";
                cin.clear();
                cin.ignore(numeric_limits<streamsize>::max(), '\n');
            }
            if (Vibor > 0 || Vibor < 3) flag = true;
            else cout << "Выберите 1 или 2" << endl;
        }
        return Vibor;
}
 
int Admin::Admin_Menu()
{
        while (1)
        {
            switch (Menu())
            {
            case 1:
                break;
            case 2: 
                break;
            default: cout << "Не верный выбор!Выберите 1 или 2 или 3!" << endl;
                break;
            }
        }
        return 0;
}

Проблема: при попытке создать в функции Enter класса Identification_organisation объект класса Admin компилятор ругается на :"ссылка на неразрешенный символ", хотя в случае ниже - такой ошибки не возникает, почему так происходит?

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
#include<iostream>
using namespace std;
 
class A {
public:
    void Show() { cout << "A" << endl; };
};
 
class B {
public:
    void Sm() 
   {
        A a;
        a.Show(); 
        cout << "B" << endl; 
   }
};
 
int main()
{
    B ob; 
    ob.Sm();
    return 0;
}
Добавлено через 24 минуты
Ошибка:
Деструктор объявлен и никак не реализован.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2015, 21:33
Ответы с готовыми решениями:

Ссылка на неразрешенный внешний символ
Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ &quot;void __cdecl...

Ссылка на неразрешенный внешний символ
Здравствуйте, мне нужна ваша помощь, уже час бьюсь но не могу решить данную...

Ссылка на неразрешенный внешний символ
Выдает три ошибки, как не пытался, не могу понять почему 1)error LNK2019:...

Ссылка на неразрешенный внешний символ
VS 12 выдает такую ошибку Ошибка 1 error LNK2019: ссылка на неразрешенный...

Ссылка на неразрешенный внешний символ
Ошибки: 1&gt;Щербаков 2.obj : error LNK2019: ссылка на неразрешенный внешний...

2
zss
Модератор
Эксперт С++
7228 / 6686 / 4231
Регистрация: 18.12.2011
Сообщений: 17,640
Завершенные тесты: 1
26.11.2015, 21:58 2
Цитата Сообщение от artart96 Посмотреть сообщение
~Main_Organisation();//Деструктор класса
Цитата Сообщение от artart96 Посмотреть сообщение
~Admin();//Деструктор класса
И где их коды?
1
artart96
-12 / 0 / 4
Регистрация: 04.10.2014
Сообщений: 272
26.11.2015, 22:03  [ТС] 3
Цитата Сообщение от zss Посмотреть сообщение
И где их коды?
Уже понял свою ошибку.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2015, 22:03

Ссылка на неразрешенный внешний символ
Ссылка на неразрешенный внешний символ _main в функции ____tmainCRTStartup В...

Ссылка на неразрешенный внешний символ
Добрый день всем! Помогите пожалуйста студенту, не пойму, то ли лыжи не едут,...

Ссылка на неразрешенный внешний символ
Ошибка 2 error LNK2019: ссылка на неразрешенный внешний символ &quot;public: struct...


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

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

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