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

Оператор return - C++

Восстановить пароль Регистрация
 
kate11
0 / 0 / 0
Регистрация: 07.10.2011
Сообщений: 33
01.07.2012, 12:45     Оператор return #1
Всем привет, мне необходимо передать полученный массив в другой файл, читала где-то, что это можно сделать при помощи оператора return, но так и не поняла как он работает. В общем как мне передать массив или переменную в другой файл?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
01.07.2012, 13:48     Оператор return #2
Что подразумевается под "другим файлом"?
kate11
0 / 0 / 0
Регистрация: 07.10.2011
Сообщений: 33
01.07.2012, 13:52  [ТС]     Оператор return #3
Цитата Сообщение от silent_1991 Посмотреть сообщение
Что подразумевается под "другим файлом"?
ну к примеру в файле 1.сpp у меня в функции main() рассчитывается массив по определенному правилу и в конце концов получается результирующий массив m[i][j] вот его необходимо передать в файл 2.cpp, ну и к примеру распечатать.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
01.07.2012, 14:05     Оператор return #4
kate11, на стадии работы приложения никаких файлов уже нет, так что передавать ничего ни из каких файлов не надо. Есть монолитное приложение - совокупность кода и данных, внутри которого и происходят все взаимодействия. Вам достаточно объявить функцию в файле 1.h, написать её реализацию в файле 1.cpp, а в файле main.cpp подключить 1.h и вызвать соответствующую функцию с соответствующими параметрами. Главное указать компилятору, что файлы main.cpp и 1.cpp стоит рассматривать как одно целое.
ЛетающийЕнот
88 / 67 / 12
Регистрация: 28.06.2012
Сообщений: 161
01.07.2012, 14:07     Оператор return #5
kate11, относительно исполнения "другого файла" нет.
Функция должна возвращать type*; return array вполне будет работать.
kate11
0 / 0 / 0
Регистрация: 07.10.2011
Сообщений: 33
01.07.2012, 19:07  [ТС]     Оператор return #6
Цитата Сообщение от silent_1991 Посмотреть сообщение
kate11, на стадии работы приложения никаких файлов уже нет, так что передавать ничего ни из каких файлов не надо. Есть монолитное приложение - совокупность кода и данных, внутри которого и происходят все взаимодействия. Вам достаточно объявить функцию в файле 1.h, написать её реализацию в файле 1.cpp, а в файле main.cpp подключить 1.h и вызвать соответствующую функцию с соответствующими параметрами. Главное указать компилятору, что файлы main.cpp и 1.cpp стоит рассматривать как одно целое.
Не могли бы вы привести пример? я пыталась так сделать, но что-то не выходит...
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
01.07.2012, 19:14     Оператор return #7
kate11, пожалуйста.
func.h
C++
1
void func(int param);
func.cpp
C++
1
2
3
4
5
6
7
8
#include <iostream>
 
#include "func.h"
 
void func(int param)
{
    std::cout << "param = " << param << std::endl;
}
main.cpp
C++
1
2
3
4
5
6
7
8
#include "func.h"
 
int main()
{
    func(10);
    
    return 0;
}
Bash
1
g++ -Wall -pedantic -o test main.cpp func.cpp
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2012, 20:06     Оператор return
Еще ссылки по теме:

C++ Переменные при использовании шаблонов. Оператор return
C++ Для чего нужен оператор двоеточие, если два двоеточия - это оператор расширения области видимости

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

Или воспользуйтесь поиском по форуму:
Fedor N
 Аватар для Fedor N
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 17
01.07.2012, 20:06     Оператор return #8
C++
1
2
3
4
5
6
7
8
9
10
11
Matrix Matrix::operator *(const Matrix& M)
{       Matrix tmp(xsize,ysize);
        for(int i = 0; i < xsize; i++)
            for(int j = 0; j < ysize; j++)
        {    tmp(i,j) = 0;
                for(int k = 0; k < xsize; k++)
        tmp(i,j) +=M(i,k)*M(k,j);
        }
 
        return tmp;
}
вот например функция "кривая конечно" в фаиле Matrixclass.h
C++
1
2
3
4
5
6
7
8
9
10
11
int main()
{
    Matrix A(2,2);
    A(0,0)=1;A(1,0)=2;A(0,1)=3;A(1,1)=4;
    cout<<"A:";A.show();
    Matrix B(2,2);
    B(0,0)=2; B(1,0)=3; B(0,1)=4; B(1,1)=6;
    cout<<"B:";B.show();
    cout<<"A*B:";cout<<endl;
    (A*B).show();
}
вот вызываю ее командой А*В из фаила main.cpp в резулитате программа возвращает А*В матрицу
Миниатюры
Оператор return  
Yandex
Объявления
01.07.2012, 20:06     Оператор return
Ответ Создать тему
Опции темы

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