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

При разбиении программы на *.cpp, *.h - файлы программа не компилируется. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Фильтр для Media Player Classic - Home Cinema http://www.cyberforum.ru/cpp/thread173688.html
Привет всем. Может кто нибудь помочь сделать фильтр для Media Player Classic - Home Cinema? Сразу скажу, что это эксперимент моего друга, фильтр делаем за спасибо, если конечно же есть такие добровольцы.
C++ Программирование последовательного порта. Здраствуйте. Помогите кто чем может в поиске литературы, исходников по программированию последовательного порта. Получил тему написать прогу "Программа-чат через последовательный порт". Программу буду писать ТОЛЬКО НА СИ(не С++). Заранее спасибо. http://www.cyberforum.ru/cpp/thread173572.html
C++ О взаимном расположении двух прямых (на языке С)
даны действ. числа x1,y1,x2,y2,x3,y3,x4,y4. (x1,y1) и (x2,y2) - координаты двух точек первой прямой., (x3,y3) и (x4,y4) - координаты двух точек второй прямой. определить расположение прямых (параллельны, перпендикулярны, пересекаются (угол)) помогите пож-та - мало опыта, новичок
C++ graphics.h в code blocks ....
Всем здравствуйте!:) Подскажите пожалуйста, как подключить библиотеку graphics.h в code blocks? А то че-т ниче не выходит....:(
C++ Инсталлятор http://www.cyberforum.ru/cpp/thread173091.html
Вобщем хочу написать свой инстолятор! есть у кагонибудь литература на русском по этой теми или исходники??
C++ Обмен по RS-422 Добрый всем день! Подскажите, пожалуйста, что можно почитать для организации обмена по RS-422. Никак не могу найти внятных примеров или исходников по этому протоколу. подробнее

Показать сообщение отдельно
kowandser
0 / 0 / 0
Регистрация: 01.10.2010
Сообщений: 50

При разбиении программы на *.cpp, *.h - файлы программа не компилируется. - C++

08.10.2010, 23:17. Просмотров 2653. Ответов 16
Метки (Все метки)

Если собрать всё в zadacha.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
//--------------------- Person.h -----------------------------
class Person
{
private:
    char Firstname [20];
    char Surname [20];
    char Patrname [20];
public:
    //Функции записи (сеттеры)
    void setFirstname (const char *s);
    void setSurname (const char *s);
    void setPatrname (const char *s);
    //Функции чтения (геттеры)
    char * getFirstname ();
    char * getSurname ();
    char * getPatrname ();
    //Конструкторы: по умолчанию, с параметрами, копирующий соответственно - и деструктор
    Person ();
    Person (char Fn[], char Sn[], char Pn[]);
    Person (const Person &obj);
    ~Person();
};
 
//--------------------------- Person.cpp ----------------------------
#include "stdafx.h"
#include <conio.h>
#include <cstring>  
#include "Person.h"   
 
Person::Person() {Firstname[0] = Surname [0] = Patrname [0] = '\x00';}
 
Person::Person(char Fn[], char Sn[], char Pn[])
    {
        setFirstname(Fn);
        setSurname(Sn);
                      setPatrname(Pn);
    }
 
Person::Person(const Person &obj)
    {
        setFirstname(obj.Firstname);
        setSurname(obj.Surname);
        setPatrname(obj.Patrname);
    }
 
Person::~Person() {printf("\nDelete object...\n");}
 
void Person::setFirstname (const char *s) {strcpy_s(Firstname, sizeof(Firstname), s);}
void Person::setSurname (const char *s) {strcpy_s(Surname, sizeof(Surname), s);}
void Person::setPatrname (const char *s) {strcpy_s(Patrname, sizeof(Patrname), s);}
 
char * Person::getFirstname () {return Firstname;}
char * Person::getSurname () {return Surname;}
char * Person::getPatrname () {return Patrname;}
 
//-------------------------- zadacha.cpp -------------------------------------
#include "stdafx.h"
#include "Person.h"
#include <conio.h>
#include <string.h>
#include <iostream>
 
int _tmain(int argc, _TCHAR* argv[])
{
    Person p1;
    Person *pp2 = new Person();
    Person *pp3 = new Person("A", "K", "S");
    Person *pp4 = new Person(*pp3);
    int size1 = sizeof (p1);
    int size2 = sizeof (*pp2);
    printf("Memory for object p1: %d\nMemory for object pp2: %d",size1, size2);
    delete pp2;
    std::cout << "Object has been deletet."<< std::endl;
    getch();
    return 0;
}
Сообщение компилятора:
1>------ Build started: Project: oop_zdat, Configuration: Debug Win32 ------
1>Linking...
1>oop_zdat.obj : error LNK2019: unresolved external symbol "public: __thiscall Person::~Person(void)" (??1Person@@QAE@XZ) referenced in function _wmain
1>oop_zdat.obj : error LNK2019: unresolved external symbol "public: __thiscall Person::Person(class Person const &)" (??0Person@@QAE@ABV0@@Z) referenced in function _wmain
1>oop_zdat.obj : error LNK2019: unresolved external symbol "public: __thiscall Person::Person(char * const,char * const,char * const)" (??0Person@@QAE@QAD00@Z) referenced in function _wmain
1>oop_zdat.obj : error LNK2019: unresolved external symbol "public: __thiscall Person::Person(void)" (??0Person@@QAE@XZ) referenced in function _wmain
1>D:\CPP\oop_zdat\Debug\oop_zdat.exe : fatal error LNK1120: 4 unresolved externals
1>Build log was saved at "file://d:\CPP\oop_zdat\oop_zdat\Debug\BuildLog.htm"
1>oop_zdat - 5 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru