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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kapitan-kuljok
0 / 0 / 0
Регистрация: 01.02.2009
Сообщений: 44
#1

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

21.02.2012, 01:45. Просмотров 420. Ответов 2
Метки нет (Все метки)

Доброго времени суток!! Писал программу, которая замечательно работала.
Пошёл в универ защищать лабу, преподаватель попросил сделать пару дополнений к ней (программе), чтобы проверить меня, я всё сделал, лабу сдал. Теперь мне надо на основе моего класса создать класс наследник, использовать виртуальные функции и т.д. и дополнения которые просил написать препод уже не нужны. Я их все стёр, привёл программу к изначальному виду, но о ужас код не компилиться!!! Компилятор выдаёт совершенно непонятные ошибки, которые ни где не подчёркивает (как он обычно это делает), то есть с синтаксисом вроде всё в порядке...Посмотрите пожалуйста может кто знает!!

Вот код :

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
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2012, 01:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Непонятные ошибки компиляции!!!! (C++):

Непонятные ошибки компиляции - C++
Само задание: В матрице размером NxM поменять местами строку, содержащую элемент с наибольшим значением со строкой, содержащей элемент с...

Непонятные ошибки компиляции - C++
rectangle.h: #ifndef RECTANGLE_H #define RECTANGLE_H #include &lt;string&gt; using namespace std; class Rectangle { friend...

Возникают непонятные ошибки во время компиляции кода - C++
возникла проблема с ошибками. не могу понять, как исправить, помогите, пожалуйста. #include &lt;stdio.h&gt; #include&lt;iostream&gt; ...

CodeBlocks выдает непонятные ошибки при компиляции - C++
Подскажите как решить эту проблему?? ||=== Build file: &quot;no target&quot; in &quot;no project&quot; (compiler: unknown) ===| ||Warning: .drectve...

Непонятные ошибки - C++
Пытаюсь скомпилировать код, а компилятор мне ошибки под ребро суёт. Как исправить ошибки? Вот пример №1: *.cpp #include &quot;strf.h&quot; ...

Непонятные ошибки - C++
Доброго времени суток, при вводе данных программа начинает работать не исправно, помогите исправить ошибки. #include &lt;stdio.h&gt; #include...

2
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
21.02.2012, 01:50 #2
У вас нет определения деструктора. Есть только объявление.
1
kapitan-kuljok
0 / 0 / 0
Регистрация: 01.02.2009
Сообщений: 44
21.02.2012, 01:55  [ТС] #3
так и хочется что- нибудь матом заорать, но скажу спасибо))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.02.2012, 01:55
Привет! Вот еще темы с ответами:

непонятные ошибки - C++
Здравствуйте Ситуация такая: программа выводит в определенную часть экрана некую последовательность символов, затем запоминает эту...

Непонятные ошибки линковщика - C++
В общем пытаюсь прикрутить работу с пост запросами но появляются ошибки не могу понять как всё это исправить

Непонятные ошибки(Linker Error) - C++
Что это за ошибки: undefined reference to `GetStockObject@4' undefined reference to `TextOutA@20' ld returned 1 exit status ? ...

Непонятные ошибки в работе (системы счисления) - C++
Всем хеллоу, у меня такая проблемка хочу написать программу, которая переводит в различные системы счисления... Я ее еще не дописал, но...


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

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

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