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

Непонятные ошибки компиляции!!!! - C++

Восстановить пароль Регистрация
 
kapitan-kuljok
0 / 0 / 0
Регистрация: 01.02.2009
Сообщений: 44
21.02.2012, 01:45     Непонятные ошибки компиляции!!!! #1
Доброго времени суток!! Писал программу, которая замечательно работала.
Пошёл в универ защищать лабу, преподаватель попросил сделать пару дополнений к ней (программе), чтобы проверить меня, я всё сделал, лабу сдал. Теперь мне надо на основе моего класса создать класс наследник, использовать виртуальные функции и т.д. и дополнения которые просил написать препод уже не нужны. Я их все стёр, привёл программу к изначальному виду, но о ужас код не компилиться!!! Компилятор выдаёт совершенно непонятные ошибки, которые ни где не подчёркивает (как он обычно это делает), то есть с синтаксисом вроде всё в порядке...Посмотрите пожалуйста может кто знает!!

Вот код :

cmplx.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class CMPLX
{
    public://здесь находятся методы твоего класса (функции)
        CMPLX(); //конструктор класса по умолчанию
        CMPLX (float real, float image); //конструктор класса с входными параметрами
        void Dec(); //декримент модуля
        CMPLX Add (CMPLX number); //сложение
        void Print(); // печать
        ~CMPLX();
    private: //здесь находятся твои поля (переменные)
        float re;
        float im;
};
cmplx.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
CMPLX::CMPLX()
{
    re = 0;
    im = 0;
}
 
CMPLX::CMPLX(float real, float image)
{
    re = real;
    im = image;
}
 
 
CMPLX CMPLX::Add(CMPLX number)
{
    CMPLX result;
    result.re = re + number.re;
    result.im = im + number.im;
    return result;
}
 
    
void CMPLX::Print()
{
    std::cout<<re<<"+i"<<im<<endl;
}
 
void CMPLX::Dec()
{
    float modul,Sin,Cos;
    modul=sqrt(re*re+im*im);
    Sin=im/modul;
    Cos=re/modul;
    modul--;
    re=modul*Cos;
    im=modul*Sin;
}
lab1.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 "stdafx.h"
#include <iostream>
#include <conio.h>
#include "cmplx.h"//здесь находится заголовок  твоего класса
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"rus");
    float re = 0;
    float im = 0;
    cout<<"Введите вещественную часть первого комплексного числа: \n";
    cin>>re;
    cout<<"Введите мнимую часть первого комплексного числа: \n";
    cin>>im;
    if(im>0)
    cout<<"\nПервое число: "<<re<<"+i"<<im<<endl;
    else
        cout<<"\nПервое число: "<<re<<"+i("<<im<<")"<<endl;
    
    CMPLX number1(re,im);  //вызываем конструктор объекта CMPLX и передаем параметры re и im
 
    cout<<"\nВведите вещественную часть второго комплексного числа: \n";
    cin>>re;
    cout<<"Введите мнимую часть второго комплексного числа: \n";
    cin>>im;
    if(im>0)
    cout<<"\nВторое число: "<<re<<"+i"<<im<<endl;
    else
        cout<<"\nВторое число: "<<re<<"+i("<<im<<")"<<endl;
    
    CMPLX number2 (re,im);
    cout<<"\nПроизведем сложение\n"; //произведем сложение
    cout<<"Полученное комплексное число: \n"; //полученное комплексное число
    CMPLX result; //вызываем конструктор по умолчанию.
    result = number1.Add(number2);//производим сложение комплексных чисел.
    result.Print();
    cout<<"Декремент модуля: \n";
    number1.Dec();
    number1.Print();    
 
    //CMPLX a(1, 1);
 
    getch();
    return 0;
    
}
Использую Visual Studio 2010

вот ошибки:
Код
Ошибка	1	error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall CMPLX::~CMPLX(void)" (??1CMPLX@@QAE@XZ) в функции "public: class CMPLX __thiscall CMPLX::Add(class CMPLX)" (?Add@CMPLX@@QAE?AV1@V1@@Z)	C:\Documents and Settings\Jojo\Мои документы\Учёба\ООП\Лабы мои\lab1\lab1\cmplx.obj
Ошибка	2	error LNK2001: неразрешенный внешний символ ""public: __thiscall CMPLX::~CMPLX(void)" (??1CMPLX@@QAE@XZ)"	C:\Documents and Settings\Jojo\Мои документы\Учёба\ООП\Лабы мои\lab1\lab1\lab1.obj
Ошибка	3	error LNK1120: 1 неразрешенных внешних элементов	C:\Documents and Settings\Jojo\Мои документы\Учёба\ООП\Лабы мои\lab1\Debug\lab1.exe
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2012, 01:45     Непонятные ошибки компиляции!!!!
Посмотрите здесь:

C++ непонятные ошибки
Непонятные ошибки(Linker Error) C++
C++ Непонятные ошибки
C++ Непонятные ошибки в работе (системы счисления)
C++ Непонятные ошибки
Непонятные ошибки C++
C++ Непонятные ошибки линковщика
Непонятные ошибки компиляции C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
21.02.2012, 01:50     Непонятные ошибки компиляции!!!! #2
У вас нет определения деструктора. Есть только объявление.
kapitan-kuljok
0 / 0 / 0
Регистрация: 01.02.2009
Сообщений: 44
21.02.2012, 01:55  [ТС]     Непонятные ошибки компиляции!!!! #3
так и хочется что- нибудь матом заорать, но скажу спасибо))
Yandex
Объявления
21.02.2012, 01:55     Непонятные ошибки компиляции!!!!
Ответ Создать тему
Опции темы

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