Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 29.06.2011
Сообщений: 77
1

Вызов функций для ОБЪЕКТОВ !!!

04.10.2011, 17:23. Показов 584. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
Если я таким образом буду вызывать функции для объектов a и b, то мне выдается правильно только сумма ,а все остальное считает не правильно, либо выводит значение a.
 Я не знаю как правильно вызывать другие функции для тех же объектов, т.е чтобы и разность, и умножение с делением работали.
 
Помогите разобраться пожалуйста...
 
 
int main()
{
        complex a(2 , 2), b(1 , 1);
        
        cout<<"\na = "; //комплесное число a
        a.Display();
 
        cout<<"\nb = "; //комплексное число b
        b.Display();
        
        cout<<"\na+b = "; //сумма комплексных чисел
        a.Add(b);
        a.Display();
         
        cout<<"\na-b = "; //разность комплексных чисел
        a.Sub(b);
        a.Display();
        
        cout<<"\na*b = "; //умножение комплексных чисел
        a.Mul(b);
        a.Display();
        
        cout<<"\na/b = "; //деление комплексных чисел
        a.Div(b);
        a.Display();
        
        _getch();
        return 0;
}

вот что у меня выводится...
a = 2 + i 2

b = 1 + i 1

a+b = 3 + i 3

a-b = 2 + i 2

a*b = 0 + i 2

a/b = 1 + i 0
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.10.2011, 17:23
Ответы с готовыми решениями:

Вызов метода для всех созданных объектов
Создается несколько объектов класса. Как сделать, чтобы при уничтожении любого объекта, для всех...

Итерационные циклы,Определение и вызов функций,Использование библиотечных функций stdio.h
Помогите решить задания: 1.Дано натуральное число n. Найти разность между первой цифрой этого...

Передача значений функций в главную программу, вызов функций
Здравствуйте! Скорее всего, неправильно передаю значения функциям и в главную программу. Помогите...

Вызов функций внутри других функций
#include &quot;stdafx.h&quot; #include &quot;stdio.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; #include...

6
26 / 26 / 6
Регистрация: 06.11.2010
Сообщений: 77
04.10.2011, 17:30 2
А как выглядит код класса complex?
0
0 / 0 / 1
Регистрация: 29.06.2011
Сообщений: 77
04.10.2011, 17:41  [ТС] 3
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
/*
 * complex.h
 */
 
#ifndef COMPLEX_H_
#define COMPLEX_H_
class complex
{
private:
        int RE, IM;
public:
       complex();
       complex( int _RE, int _IM );
       void set_RE( int _RE );
       void set_IM( int _IM );
       int get_RE ();
       int get_IM ();
     void Display();        // вывод
     complex Add(complex &ob);  // прибавить комплексное число
     complex Sub(complex &ob);  // вычесть комплексное число
     complex Mul(complex &ob);  // умножить комплексное число
     complex Div(complex &ob);  //делить комплексное число
};
#endif
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
/*
 * complex.cpp
 */
#include <iostream>
#include "complex.h"
using namespace std;
 
complex::complex()
{
     RE = 0; IM = 0;
}
complex::complex( int _RE, int _IM )
{
     RE = _RE; IM = _IM;
}
 
void complex::set_RE( int _RE )
{
     RE = _RE;
}
void complex::set_IM( int _IM )
{
     IM = _IM;
}
 
int complex::get_RE ()
{
    return RE;
}
        
int complex::get_IM ()
{
    return IM;
}
 
// определение метода вывода
void complex::Display()
{
cout << RE << " + i " << IM << endl;
}
// определение метода сложения
complex complex::Add(complex &ob)
{
     RE = RE + ob.RE;
     IM = IM + ob.IM;
}
// определение метода вычитания
complex complex::Sub(complex &ob)
{
     RE = RE - ob.RE;
     IM = IM - ob.IM;
}
// определение метода умножения
complex complex::Mul(complex &ob)
{
     RE = RE*ob.RE - IM*ob.IM;
     IM = RE*ob.IM + IM*ob.RE;
}
// определение метода деления
complex complex::Div(complex &ob)
{
     int znam = ob.RE*ob.RE+ob.IM*ob.IM;
     RE = (RE*ob.RE+IM*ob.IM) / znam;
     IM = (IM*ob.RE-RE*ob.IM) / znam;
}
Добавлено через 3 минуты
если что мне нужно делать именно через функции, а не прегрузку...
0
26 / 26 / 6
Регистрация: 06.11.2010
Сообщений: 77
04.10.2011, 18:05 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int main()
{
 
        complex a(2 , 2), b(1 , 1),c(2,2),d(1,1);
        
        cout<<"\na = "; //комплесное число a
        a.Display();
 
        cout<<"\nb = "; //комплексное число b
        b.Display();
        
        cout<<"\nс-d = "; //сумма комплексных чисел
        c.Add(d);
        c.Display();
         
        cout<<"\na-b = "; //разность комплексных чисел
        a.Sub(b);
        a.Display();
    system("pause");
 
}
Добавлено через 2 минуты
После вызова Add() а=3+3i, а не2+2i
Аналогично для Div() и Mul()
0
0 / 0 / 1
Регистрация: 29.06.2011
Сообщений: 77
04.10.2011, 18:10  [ТС] 5
я и сама о таком подумала...но это слишком примитивно...
0
0 / 0 / 1
Регистрация: 29.06.2011
Сообщений: 77
04.10.2011, 18:12  [ТС] 6
Кто-нибудь знает как можно сделать по-другому???
0
0 / 0 / 1
Регистрация: 29.06.2011
Сообщений: 77
04.10.2011, 18:40  [ТС] 7
Помогите пожалуйста
0
04.10.2011, 18:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.10.2011, 18:40
Помогаю со студенческими работами здесь

Вызов специфических для потомка функций, не зная класса потомка
Доброго времени суток. Когда-то давно делал работу в C#, а сейчас захотел повторить то же в C++....

Вызов функций
Можно ли преобразовать строку, вводимою с консоли в вызов функции? То есть к примеру у меня...

Вызов функций
Всем привет! Слушайте, в проге которую я сейчас пишу несколько функций, и мне нужно по ходу работы...

Вызов функций
Для чего нужны stdcall и cdecl? и как они работают? Спасибо=)


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru