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

Класс human. Ссылка на неразрешенный внешний символ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как компоновать многофайловое приложение http://www.cyberforum.ru/cpp-beginners/thread1167464.html
Здравствуйте. В файле GradeBook.cpp ошибки: undefined reference to `WinMain@16' ld returned 1 exit status В файле fir03_13.cpp ошибки: undefined reference to `GradeBook::GradeBook(std::string)' и т.д В первом файле,нет main,во втором не описывается класс и функции.То есть один цельный код,поделили на 3 неполных.А как компилировать cpp файлы,если по правилам они не могут...
C++ Классы "Пара чисел" и "Прямоугольный треугольник" Помогите исправить прогу: #include<iostream> #include<iomanip> using namespace std; class ABSTR{ public: virtual void Abstr (void)=0; }; class PAIR1:virtual public ABSTR{ http://www.cyberforum.ru/cpp-beginners/thread1167461.html
C++ Перевод фунтов в килограммы
Нужна очень простая программа на С++ в консоли которая переводила бы фунты в килограммы,буду благодарен за помощь в данном вопросе.
C++ Borland С++ 3.1. Вывод данных в консоль в табличном представлении
поставлена задача выводить данные в консоли в таблице. границы таблицы выводит функция пользователя mega() в которую из главной программы передаются параметры (цвет линий, фона, текста). так вот вопрос, это делать какбы вручную с помощью line(), outtext(), и т.д. или есть какой-то другой путь?
C++ Заполнить одномерный массив уникальными числами http://www.cyberforum.ru/cpp-beginners/thread1167420.html
Помогите. Надо ввести количество элементов М, нижнюю границу g1, верхнюю границу g2, заполнить этот массив случайными натуральными числами от g1 до g2 и обеспечить чтоб не было одинаковых. Делаю в Visual Studio, подскажите какие библиотеки нужны и текст проги, для заполнения массива.
C++ Сформировать массив из 10 элементов. Отсортировать по убыванию Помогите:) 2. Сформировать массив из 10 элементов. Отсортировать по убыванию. подробнее

Показать сообщение отдельно
razqr
20 / 0 / 1
Регистрация: 24.04.2013
Сообщений: 22

Класс human. Ссылка на неразрешенный внешний символ - C++

05.05.2014, 21:23. Просмотров 459. Ответов 3
Метки (Все метки)

Есть код программы. Но при компиляции он выдает ошибки:
XML
1
2
3
4
5
6
7
8
9
10
11
1>File1.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall human::human(void)" (??0human@@QAE@XZ) в функции "void __cdecl `dynamic initializer for 'TestHuman''(void)" (??__ETestHuman@@YAXXZ)
1>File1.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall human::~human(void)" (??1human@@QAE@XZ) в функции "void __cdecl `dynamic atexit destructor for 'TestHuman''(void)" (??__FTestHuman@@YAXXZ)
1>File1.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: void __thiscall human::setFirstName(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?setFirstName@human@@QAEXV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) в функции "void __cdecl setHumanFirstName(void)" (?setHumanFirstName@@YAXXZ)
1>File1.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: void __thiscall human::setLastName(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?setLastName@human@@QAEXV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) в функции "void __cdecl setHumanLastName(void)" (?setHumanLastName@@YAXXZ)
1>File1.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: void __thiscall human::setWeight(int)" (?setWeight@human@@QAEXH@Z) в функции "void __cdecl setHumanWeight(void)" (?setHumanWeight@@YAXXZ)
1>File1.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: void __thiscall human::setAge(int)" (?setAge@human@@QAEXH@Z) в функции "void __cdecl setHumanAge(void)" (?setHumanAge@@YAXXZ)
1>File1.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall human::getFirstName(void)" (?getFirstName@human@@QAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ) в функции "void __cdecl getHumanFirstName(void)" (?getHumanFirstName@@YAXXZ)
1>File1.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall human::getLastName(void)" (?getLastName@human@@QAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ) в функции "void __cdecl getHumanLastName(void)" (?getHumanLastName@@YAXXZ)
1>File1.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: int __thiscall human::getWeight(void)" (?getWeight@human@@QAEHXZ) в функции "void __cdecl getHumanWeight(void)" (?getHumanWeight@@YAXXZ)
1>File1.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: int __thiscall human::getAge(void)" (?getAge@human@@QAEHXZ) в функции "void __cdecl getHumanAge(void)" (?getHumanAge@@YAXXZ)
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: ссылка на неразрешенный внешний символ _WinMain@16 в функции ___tmainCRTStartup).
Сам код программы:
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
#include <iostream>
#include <string>
#include "human.h"
 
using namespace std;
 
human TestHuman;
int choice;
string inFirstName;
string inLastName;
int inWeight;
int inAge;
 
int cont = 1;
 
void setHumanFirstName()
{
    cout << "Введите имя человека: ";
    cin >> inFirstName;
    TestHuman.setFirstName(inFirstName);
    cout << endl;
    return;
}
 
void setHumanLastName()
{
    cout << "Введите фамилию человека: ";
    cin >> inLastName;
    TestHuman.setLastName(inLastName);
    cout << endl;
    return;
}
 
void setHumanWeight()
{
    cout << "Введите вес человека: ";
    cin >> inWeight;
    TestHuman.setWeight(inWeight);
    cout << endl;
    return;
}
 
void setHumanAge()
{
    cout << "Введите возраст человека: ";
    cin >> inAge;
    TestHuman.setAge(inAge);
    cout << endl;
    return;
}
 
void getHumanFirstName()
{
    cout << "Имя: " << TestHuman.getFirstName() << endl;
    cout << endl;
    return;
}
 
void getHumanLastName()
{
    cout << "Фамилия: " << TestHuman.getLastName() << endl;
    cout << endl;
    return;
}
 
void getHumanWeight()
{
    cout << "Вес: " << TestHuman.getWeight() << endl;
    cout << endl;
    return;
}
 
void getHumanAge()
{
    cout << "Возраст: " << TestHuman.getAge() << endl;
    cout << endl;
    return;
}
 
void getAllHumanParameters()
{
    cout << "Имя: " << TestHuman.getFirstName() << endl;
    cout << "Фамилия: " << TestHuman.getLastName() << endl;
    cout << "Вес: " << TestHuman.getWeight() << endl;
    cout << "Возраст: " << TestHuman.getAge() << endl;
    cout << endl;
    return;
}
 
void exit()
{
    cont = 0;
    return;
}
 
int main(int argc, char ** argv)
{
    do
    {
        cout << "Класс Человек. Написал Кулхацкер. Версия 1.0" << endl;
        cout << "--------------------------------------------" << endl;
        cout << "1) Задать имя" << endl;
        cout << "2) Задать фамилию" << endl;
        cout << "3) Задать вес" << endl;
        cout << "4) Задать возраст" << endl;
        cout << "--------------------------------------------" << endl;
        cout << "5) Вывести имя" << endl;
        cout << "6) Вывести фамилию" << endl;
        cout << "7) Вывести вес" << endl;
        cout << "8) Вывести возраст" << endl;
        cout << "9) Вывести все" << endl;
        cout << "--------------------------------------------" << endl;
        cout << "0) Выйти" << endl;
        cout << "--------------------------------------------" << endl;
        cout << "> ";
        cin >> choice;
        switch (choice)
        {
        case 1:
            setHumanFirstName();
            break;
        case 2:
            setHumanLastName();
            break;
        case 3:
            setHumanWeight();
            break;
        case 4:
            setHumanAge();
            break;
        case 5:
            getHumanFirstName();
            break;
        case 6:
            getHumanLastName();
            break;
        case 7:
            getHumanWeight();
            break;
        case 8:
            getHumanAge();
            break;
        case 9:
            getAllHumanParameters();
            break;
        case 0:
            exit();
            break;
        }
    } while (cont != 0);
    return 0;
}
human.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
ifndef HUMAN_H
#define HUMAN_H
 
class human
{
public:
    human();
    ~human();
 
    void setFirstName(std::string newFirstName);
    void setLastName(std::string newLastName);
    void setWeight(int newWeight);
    void setAge(int newAge);
 
    std::string getFirstName();
    std::string getLastName();
    int getWeight();
    int getAge();
 
private:
    std::string firstName;
    std::string lastName;
    int weight;
    int age;
};
 
#endif /* HUMAN_H */

Я даже не знаю в чем то ошибка оО... Помогите пожалуйста.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru