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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Corax111
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 74
#1

Вызов файлов - C++

15.09.2013, 02:17. Просмотров 322. Ответов 6
Метки нет (Все метки)

Я уже обращался сюда с этим вопросом, новый вопрос возник)
Итак, как я понял, файлы подключаются, ни так как библиотеки (т.е. не #include<>, а #include " ")
Вопрос таков, как вызвать файл в необходимом месте?
То есть, я пытаюсь сделать как-то так
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std;
 
 
int main()
{
#include "app.cpp" // проблема в том, что потом пишет, что у '{' нет пары...
    
    system("pause");
}
В свою очередь в app.cpp вот что
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;
 
int newFunc() // не main() потому что пишет, что многократно определен один символ, или что-то в этом духе...
{
    int o = 1;
    cout << "Hello, world" << endl;
    system("pause");
    return(o);
 
}
Не подскажите, как все это устроить? А то писать все одном файле... несколько коряво и слишком наворочено выглядит, сам потом теряюсь в коде))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.09.2013, 02:17     Вызов файлов
Посмотрите здесь:

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

Вызов функций с шаблонами из других файлов - C++
Всем здрасьте ! у меня есть 3 файла: main.cpp, wrap.h и wrap.cpp В wrap.h в namespace у меня объявлены функции с шаблонами: ...

Вызов функции - C++
Укажите правильный вариант вызова функции вместо пропуска …….. void func(int *p, int n, float k) { } main( ) { int...

Вызов функции - C++
Здравствуйте! Такая задача:Разработать и испытать функцию, которая удаляет из целочисленного одномерного массива все элементы, совпадающие...

Вызов типа - C++
Имеется объявления пипов... int*m4; int(*m5); int**m6; int(*m7)(int,float); Подскажите,как каждый можно вызвать?

Вызов деструктора - C++
Есть написанный мною код: #include &lt;iostream&gt; class Foo { private: int *key; public: Foo (const int a=0) { key = new int...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
UranFlex
131 / 129 / 21
Регистрация: 25.05.2013
Сообщений: 233
15.09.2013, 02:30     Вызов файлов #2
C++
1
#include "app.cpp"
Такое не используется в c++
Если у Вас какая-либо IDE, то, обычно, через ее меню создается новый файл .cpp исходного кода и сохраняется в каталоге проекта.
Если используете компилятор через консоль, то для нескольких файлов привожу пример параметров для компилятора g++
Bash
1
g++ main.cpp func.cpp
или, если много файлов в проекте, то можно написать
Bash
1
g++ *.cpp
Corax111
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 74
15.09.2013, 02:38  [ТС]     Вызов файлов #3
У меня Visual C++ express 2010, я пробовал без инклюдов, он вообще игнорирует второй файл))
Brust
35 / 29 / 8
Регистрация: 16.07.2012
Сообщений: 68
15.09.2013, 02:48     Вызов файлов #4
Вот что бы небыло путаницы, придумали правило:
Заголовочные файлы .h должны содержать обьявления функций, классов и т.д.
В .cpp же файлах принято писать реализацию уже этих функций.
Ибо компилятор при сборке проекта, сначало компилирует каждый .cpp файл из проекта отдельно, даже если код из него больше нигде не используется, и создает одноименные им объектные файлы - .o или .obj.
И только после компиляции каждого .cpp файла, уже после, из объектных файлов и собирается исполняемый файл.

По этому, в любой IDE, если .cpp файл включен в проект, он в любом случае будет скомпилирован, и смысла его подключать как у вас - уже нет.
А чтобы использовать функцию из другого .cpp, достаточно подключить .h файл с определением этой функции.
Возьмите правило на карандаш )
UranFlex
131 / 129 / 21
Регистрация: 25.05.2013
Сообщений: 233
15.09.2013, 02:51     Вызов файлов #5
а создавал файд через меню IDE?
Corax111
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 74
15.09.2013, 02:53  [ТС]     Вызов файлов #6
Спасибо, попробую, пользуясь случаем)
есть такие команды, как system(dir), system(call), это я с cmd выкопал)) Так вот ,как сделать так, чтобы они работали, как в сmd?
C++
1
2
3
4
5
6
7
8
int main()
{
setlocale(LC_ALL, "Russian");
string i;
cin >> i;
system("call: i"); /* вот, я решил делать так, пробовал  и пробел, и вот так, и через запятую.. не работает.. как же в microsoft это реализовали? Может кто экспериментировал с этим и подскажет? */
system("pause");
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.09.2013, 06:31     Вызов файлов
Еще ссылки по теме:

Вызов деструктора - C++
Доброго вам времени суток. Проблема в том, что деструктор не выводит сообщение без этой строки. s1.~Shave(); И я не уверен, что так...

Вызов программ - C++
Требуется написать программу, которая будет запускать другую программу и обрабатывать её результат. Как это можно сделать?

Вызов деструктора - C++
При ручном вызове деструктора, освобождается ли память*

Вызов из структуры - C++
Доброе утро! Возник вопрос по следующему поводу: Есть структура: struct { char predmet; char people; int four_mark; } jurnal; ...


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

Или воспользуйтесь поиском по форуму:
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.09.2013, 06:31     Вызов файлов #7
Цитата Сообщение от Corax111 Посмотреть сообщение
я пытаюсь сделать как-то так
Нужно так: если файл существует, то поместить его в папку проекта, потом правой кнопкой по Файлы исходного кода - Добавить - Существующий элемент. Откроется, в обзоре, папка проекта. Выбрать файл, добавить. Создавать можно так же: Добавить - Создать элемент. Файл появится в проекте. Делать инклуд, .cpp файла, не нужно.

Добавлено через 6 минут
Цитата Сообщение от Corax111 Посмотреть сообщение
Так вот ,как сделать так, чтобы они работали
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
#include <cstdlib>
 
using namespace std;
 
 
int main()
{
    setlocale(LC_ALL, "Russian");
    string i;
    cin >> i;
    system(i.c_str()); 
    system("pause");
    return 0;
}
Yandex
Объявления
15.09.2013, 06:31     Вызов файлов
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru