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

Программа (class Complex) на неуправляемом языке c++ - C++

Восстановить пароль Регистрация
 
tyna
2 / 2 / 0
Регистрация: 28.11.2013
Сообщений: 65
08.04.2014, 00:02     Программа (class Complex) на неуправляемом языке c++ #1
Написал программу. Заголовочный файл
C++
1
2
3
4
5
6
7
8
9
10
11
12
class Complex
{
private:
    double x, y;
public:
    Complex();
    Complex(double, double);
    Complex(Complex &);
    void assign(Complex&);
    friend void print(Complex&);
    friend Complex plus(Complex&, Complex&);
};
Файл программы
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
#include <iostream>
#include <conio.h>
#include "1.h"
using namespace std;
Complex::Complex() :x(0.0), y(0.0)
{}
Complex::Complex(double x1, double y1) : x(x1), y(y1)
{}
 
Complex::Complex(Complex &temp_obj)
{
    x = temp_obj.x;
    y = temp_obj.y;
}
 
Complex plus(Complex &c1, Complex &c2)
{
    double x_temp, y_temp;
    x_temp = c1.x + c2.x;
    y_temp = c1.y + c2.y;
    return Complex(x_temp, y_temp);
}
 
void Complex::assign(Complex &c1_res)
{
    x = c1_res.x;
    y = c1_res.y;
}
 
void print(Complex &c1_show)
{
    cout << "x=" << c1_show.x << endl << "y=" << c1_show.y << endl;
}
 
 
int main()
{
    setlocale(0, "Rus");
 
    Complex x(1.3, 4.2), y(4.0, 8.1), z(y);
    z.assign(plus(x, y));
    print(plus(y, z));
 
    getch();
    return 0;
}
При компиляции в VS 2013 выдает ошибку - error C2872: plus: неоднозначный символ и указывает на строчки
C++
1
2
z.assign(plus(x, y));
    print(plus(y, z));
Читал документацию, но так и не понял что ему не нравится...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rcyn
13 / 9 / 2
Регистрация: 30.01.2014
Сообщений: 47
08.04.2014, 00:08     Программа (class Complex) на неуправляемом языке c++ #2
Скорее всего этот идентификатор ещё где-то используется, попробуйте переименовать или оберните в namespace свой код
tyna
2 / 2 / 0
Регистрация: 28.11.2013
Сообщений: 65
08.04.2014, 00:11  [ТС]     Программа (class Complex) на неуправляемом языке c++ #3
rcyn, вроде бы нигде не использовал больше... А как обернуть в namespace?
DrOffset
6460 / 3834 / 885
Регистрация: 30.01.2014
Сообщений: 6,629
08.04.2014, 00:16     Программа (class Complex) на неуправляемом языке c++ #4
tyna, using namespace std; просто не надо использовать бездумно
rcyn
13 / 9 / 2
Регистрация: 30.01.2014
Сообщений: 47
08.04.2014, 00:20     Программа (class Complex) на неуправляемом языке c++ #5
Цитата Сообщение от tyna Посмотреть сообщение
rcyn, вроде бы нигде не использовал больше... А как обернуть в namespace?

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
namespace MyNameSpace
{
   class Test 
   { 
   public:
      Test(int value):m_val(value){}
      friend Test plus(const Test & t1, const Test & t2);
      friend void print(const Test & t);
   private:
      int m_val;
      
   };
 
   Test plus(const Test & t1, const Test & t2)
   {
      return Test(t1.m_val + t2.m_val);
   }
 
   void print(const Test & t)
   {
      cout << t.m_val << endl;
   }
}
 
int main()
{
   
   MyNameSpace::Test t1(100);
   MyNameSpace::Test t2(200);
   MyNameSpace::print(MyNameSpace::plus(t1,t2));
 
return 0;
}
tyna
2 / 2 / 0
Регистрация: 28.11.2013
Сообщений: 65
08.04.2014, 00:28  [ТС]     Программа (class Complex) на неуправляемом языке c++ #6
спасибо) а вот хотел узнать, как эту программу разбить на 3 файла?

Добавлено через 3 минуты
DrOffset, а если не используя его?
DrOffset
6460 / 3834 / 885
Регистрация: 30.01.2014
Сообщений: 6,629
08.04.2014, 00:46     Программа (class Complex) на неуправляемом языке c++ #7
Цитата Сообщение от tyna Посмотреть сообщение
а если не используя его?
В смысле? plus - определен в пространстве имен std, из-за этого конфликт и ошибка. Не нужно импортировать все пространство имен, если оно не надо.
tyna
2 / 2 / 0
Регистрация: 28.11.2013
Сообщений: 65
08.04.2014, 06:19  [ТС]     Программа (class Complex) на неуправляемом языке c++ #8
DrOffset, а как реализовать, чтобы не все пространство имен использовать тогда?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.04.2014, 07:01     Программа (class Complex) на неуправляемом языке c++ #9
Цитата Сообщение от tyna Посмотреть сообщение
а вот хотел узнать, как эту программу разбить на 3 файла?
Реализации функций перенесите в другой .cpp файл.

Добавлено через 4 минуты
Цитата Сообщение от tyna Посмотреть сообщение
а как реализовать, чтобы не все пространство имен использовать тогда?
Директиву using namespace std не использовать, а где нужно испльзовать std::, или using std::.
tyna
2 / 2 / 0
Регистрация: 28.11.2013
Сообщений: 65
08.04.2014, 21:51  [ТС]     Программа (class Complex) на неуправляемом языке c++ #10
alsav22, я пробовал переносил
C++
1
2
3
4
5
6
7
8
9
10
11
int main()
{
    setlocale(0, "Rus");
 
    Complex x(1.3, 4.2), y(4.0, 8.1), z(y);
    z.assign(plus(x, y));
    print(plus(y, z));
 
    getch();
    return 0;
}
в другой cpp файл. Но выдало много ошибок. Или как перенести функции?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.04.2014, 22:05     Программа (class Complex) на неуправляемом языке c++ #11
Цитата Сообщение от tyna Посмотреть сообщение
я пробовал переносил
Покажите как перенесли, мне же не видно.
Цитата Сообщение от tyna Посмотреть сообщение
Но выдало много ошибок.
Каких?
tyna
2 / 2 / 0
Регистрация: 28.11.2013
Сообщений: 65
08.04.2014, 22:31  [ТС]     Программа (class Complex) на неуправляемом языке c++ #12
alsav22, так и перенес просто, как и написал (только функцию main) и пишет что x,y,z неопознаны
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.04.2014, 22:35     Программа (class Complex) на неуправляемом языке c++ #13
Цитата Сообщение от tyna Посмотреть сообщение
так и перенес просто, как и написал
Как написали - вижу, как перенесли - не вижу.
Содержимое файлов покажите.
tyna
2 / 2 / 0
Регистрация: 28.11.2013
Сообщений: 65
08.04.2014, 22:38  [ТС]     Программа (class Complex) на неуправляемом языке c++ #14
alsav22, я просто из первого файла cpp вырезал часть с main и во второй срр вставил

Добавлено через 29 секунд
alsav22, и не знаю что еще во втором дописать надо
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.04.2014, 22:39     Программа (class Complex) на неуправляемом языке c++ #15
Цитата Сообщение от tyna Посмотреть сообщение
я просто из первого файла cpp вырезал часть с main и во второй срр вставил
Будем файлы показывать, или будем переписку заканчивать?
tyna
2 / 2 / 0
Регистрация: 28.11.2013
Сообщений: 65
08.04.2014, 22:40  [ТС]     Программа (class Complex) на неуправляемом языке c++ #16
первый файл
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
#include <iostream>
#include <conio.h>
#include "1.h"
using namespace std;
Complex::Complex() :x(0.0), y(0.0)
{}
Complex::Complex(double x1, double y1) : x(x1), y(y1)
{}
 
Complex::Complex(Complex &temp_obj)
{
    x = temp_obj.x;
    y = temp_obj.y;
}
 
Complex plus(Complex &c1, Complex &c2)
{
    double x_temp, y_temp;
    x_temp = c1.x + c2.x;
    y_temp = c1.y + c2.y;
    return Complex(x_temp, y_temp);
}
 
void Complex::assign(Complex &c1_res)
{
    x = c1_res.x;
    y = c1_res.y;
}
 
void print(Complex &c1_show)
{
    cout << "x=" << c1_show.x << endl << "y=" << c1_show.y << endl;
}
второй файл
C++
1
2
3
4
5
6
7
8
9
10
11
int main()
{
    setlocale(0, "Rus");
 
    Complex x(1.3, 4.2), y(4.0, 8.1), z(y);
    z.assign(plus(x, y));
    print(plus(y, z));
 
    getch();
    return 0;
}
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.04.2014, 22:48     Программа (class Complex) на неуправляемом языке c++ #17
Цитата Сообщение от tyna Посмотреть сообщение
второй файл
А третий где?
Во втором сделать:
C++
1
#include "1.h"
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2014, 22:55     Программа (class Complex) на неуправляемом языке c++
Еще ссылки по теме:

На каком языке написанна программа? C++
enum и class как составляющие другого class C++
vector<[class]> in class и перегрузка (ostream) C++

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

Или воспользуйтесь поиском по форуму:
tyna
2 / 2 / 0
Регистрация: 28.11.2013
Сообщений: 65
08.04.2014, 22:55  [ТС]     Программа (class Complex) на неуправляемом языке c++ #18
alsav22, третий заголовочный .h
C++
1
2
3
4
5
6
7
8
9
10
11
12
class Complex
{
private:
    double x, y;
public:
    Complex();
    Complex(double, double);
    Complex(Complex &);
    void assign(Complex&);
    friend void print(Complex&);
    friend Complex plus(Complex&, Complex&);
};
Yandex
Объявления
08.04.2014, 22:55     Программа (class Complex) на неуправляемом языке c++
Ответ Создать тему
Опции темы

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