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

Добавление нового метода в класс - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Обрывы при чтении вывода консольного приложения http://www.cyberforum.ru/cpp-beginners/thread1202581.html
Требуется прочитать вывод консольного приложения. Был использован код char tmp; FILE *child = _popen("windump.exe -i 1 -s 0 -w - ", "r"); if (NULL == child) throw std::runtime_error("Unable to spawn child program"); while (fgets(tmp, sizeof(tmp), child)) cout << tmp;
C++ Очередь (задача из Лафоре) Задача 9 из Лафоре: Надо написать класс queue, имеющий два метода: put() для помещения элемента в очередь и get() для извлечения элемента из очереди. Вам понадобятся два поля head и tail (конец и начало). Конец очереди перемещается к началу по массиву по мере того, как элементы добавляются и извлекаются из очереди. Если head или tail примут значение конца массива, то следует вернуться на начало.... http://www.cyberforum.ru/cpp-beginners/thread1202560.html
Все разбиения натурального числа N на сумму слагаемых C++
Есть такой код на паскале: var i,j,task,n,k,index,gk:integer; number:int64; A : array of int64; Ans : array of byte; begin for i:=1 to 32 do begin A:=1;A:=1;Ans:=0;end;
C++ Как считывать слова/цифры пока не закончился ввод пользователем
Как считывать слова/цифры пока не закончился ввод пользователем
C++ Вывести на экран информацию обо всех ноутбуках фирмы, название которой вводится клавиатуры http://www.cyberforum.ru/cpp-beginners/thread1202523.html
Описать структуру Notebook, содержащую следующие поля: фирма, модель ноутбука, размер экрана, объем жесткого диска, цена. Вывести на экран информацию обо всех ноутбуках фирмы, название которой вводится клавиатуры. Определить среди ноутбуков с заданным (введенным с клавиатуры) размером экрана самый дорогой. Если ноутбуков с таким размером экрана нет, вывести соответствующее сообщение. Структуру...
C++ Непонятка с функцией md5 нахождения хэш - суммы Здравствуйте! Решил по чуть-чуть двигаться в сторону более высоких материй, в частности шифрование. Столкнулся с проблемой, в C++ нет библиотек для нахождения md5 хэш - суммы. Гугланул(как полагается) и выгуглил, что есть на свете вот такой сайтик http://www.zedwood.com/article/cpp-md5-function подробнее

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

Добавление нового метода в класс - C++

08.06.2014, 14:18. Просмотров 387. Ответов 4
Метки (Все метки)

Всем доброго времени суток. Редко обращаюсь за помощью, но тут мне без неё не обойтись. И сразу к сути. Наша программа состоит из отдельного исходного файла complex3.cpp и основного main.cpp.
Непосредственно сам complex3:
complex3.h (Заголовочный файл):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef COMPLEX3_H
#define COMPLEX3_H
 
class complex3
{
private:
    double re;
    double im;
    double re1;
    double im1;
public:
    complex3();
    complex3(double, double);
    void add(complex3);
    void sub(complex3);
    void print();
};
 
#endif // COMPLEX3_H
complex3.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
#include "complex3.h"
#include <iostream>
 
using namespace std;
 
complex3::complex3()
{
re = im = 0;
}
 
complex3::complex3(double r, double i = 0)
{
  re = r;
  im = i;
}
 
void complex3::add(complex3 c)
{
  re += c.re;
  im += c.im;
}
 
void complex3::sub(complex3 c)
{
  re -= c.re;
  im -= c.im;
}
 
void complex3::print()
{
  cout << endl << "Znachenie kompleksnogo chisla: " << re;
  if (im < 0)
    cout << im << 'i';
  else
    if (im > 0) cout << '+' << im << 'i';
}
Для пояснения, этот класс содержит в себе методы для работы с комплексными числами(числами вида "X+Yi") - сложение, вычитание, вывод на экран.
Работа с его элементами выглядела бы, как пример, следующим образом:
C++
1
2
3
complex3 c1(x, y), c2(x1,y1);
c1.add(c2);
c1.print();
,
где x,y,x1,y1 - любые числа.

Далее, исходник main.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
#include <iostream>
#include "complex3.h"
 
using namespace std;
 
struct complex
{
    double re;
    double im;
    void add(complex c)
    {
        re = re + c.re;
        im = im + c.im;
    }
    void sub (complex c)
    {
        re -= c.re;
        im -= c.im;
    }
};
 
 
int main()
{
 
    return 0;
}
Полная аналогия. Позволяет работать с такими же методами для комплексных чисел.
Пример использования этой структуры:
C++
1
2
3
4
5
6
complex c1,c2;
c1.re = x;
c1.im = y;
c2.re = x1;
c2.im = y2;
c1.add(c2);
И наконец - что же требуется изменить: добавить в класс complex3 метод add1, складывающий значение
комплексного числа с числом типа complex.
.

Как я понял, complex3 работает только с типами своего класса, по аналогии же работает структура complex.
Я попробовал некоторые варианты их взаимодействия - ничего не вышло...
Помогите пожалуйста решить эту проблему, буду невероятно благодарен.
И извините за корявое объяснение, если оно таковым является.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru