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

Работа с массивами в функции - C++

Восстановить пароль Регистрация
 
АлександрКом
11 / 11 / 1
Регистрация: 21.10.2012
Сообщений: 327
25.03.2014, 16:09     Работа с массивами в функции #1
Здравствуйте. Вопрос седующий - в программе есть 2 массива. Существует класс, в конструкторе которого я читаю эти 2 массива в переменные моего класса. В классе также есть 2 функции, одна работает с массивами(допустим, складывает поэлементно в 3-ий массив), а вторая выводит результат. Что-то такого типа:
C++
1
2
3
4
5
6
7
#include "Demodulator.h"
double* I;
double* Q; //представим, что в I и Q по 3 числа
double* r; // сюда вывожу результат
Demodulator first(I,Q,3); //вызов конструктора
    first.FM(); //выполнение сложения
    r = first.getFM();  //получение результата
Код "Demodulator.h"
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include "IntMath/Complex.h"
 
class Demodulator {
public:
    Demodulator(double*, double*, int);
    virtual ~Demodulator();
 
    double FM(void);
    double* getFM(void);
 
private:
    double* I;
    double* Q;
    double* resultFM;
    int count;
};
Код "Demodulator.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 "Demodulator.h"
Demodulator::Demodulator(double* i,double* q, int n) {
    count=n;
    for(int j=0; j<count; j++){
        I[j]=i[j];
        Q[j]=q[j];
        }
 
}
 
Demodulator::~Demodulator() {
}
 
double Demodulator::FM(void)
{
 
    for(int k=0; k<count; k++){
       resultFM[k]=I[k]+Q[k];
    }
 
    return(0);
}
 
double* Demodulator::getFM(void)
{
    return(resultFM);
}
Проблема в том, что если после этих строчек будет другой код, то информация в r может быть изменена, и там будут уже совсем другие числа. Подскажите, как можно избежать этого?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2014, 16:09     Работа с массивами в функции
Посмотрите здесь:

C++ работа с массивами в с++
C++ Работа с массивами
C++ Работа с массивами
C++ Работа с массивами
C++ работа с массивами
Работа с массивами(С\С++) C++
Работа с массивами C++
C++ Работа с массивами

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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