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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как создать программу в виде таблицы? http://www.cyberforum.ru/cpp-beginners/thread1129350.html
Написать программу вычисления значений функций F(x) в виде списка и в виде таблицы для указанного диапазона значений аргумента с приведенными значениями исходных данных....
C++ Определить попадание произвольной точки в заштрихованную область Определить попадание произвольной точки в заштрихованную область. http://www.cyberforum.ru/cpp-beginners/thread1129348.html
Задача с двухмерным массивом C++
Доброго времени суток. Нужна помощь по задаче: Элементы массива a(n) ниже главной диагонали равны нулю.1) Выше и на главной диагонали нулевых элементов нет.2) Строки и столбцы случайным образом...
В каком виде лучше хранить древовидную структуру? C++
Предположим мне нужно прочитать файл XML, JSON или .ini (а может быть даже TOML) В каком виде мне лучше хранить структуру такого дерева? Каким должен быть атрибут в абстрактном классе, который...
C++ Добавить функцию создания матрицы http://www.cyberforum.ru/cpp-beginners/thread1129339.html
#include <conio.h> #include <iostream.h> #include <iomanip.h> #include <math.h> #include <stdlib.h> void main() { int i,j,n,m,sum,sumA=0,sumB=0,a,b;
C++ Что тут не так? Не понимаю - почему программа не работает... Если все string Заменить на массивы char, то всё нормально работает. В чем дело? #include <windows.h> #include <iostream> #include <fstream>... подробнее

Показать сообщение отдельно
АлександрКом
11 / 11 / 1
Регистрация: 21.10.2012
Сообщений: 345

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

25.03.2014, 16:09. Просмотров 181. Ответов 0
Метки (Все метки)

Здравствуйте. Вопрос седующий - в программе есть 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 может быть изменена, и там будут уже совсем другие числа. Подскажите, как можно избежать этого?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru