С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

15.09.2013, 02:17. Просмотров 524. Ответов 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);
 
}
Не подскажите, как все это устроить? А то писать все одном файле... несколько коряво и слишком наворочено выглядит, сам потом теряюсь в коде))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.09.2013, 02:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вызов файлов (C++):

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

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

Написать программу, которая обеспечивает:начальное формирование каталога файлов;вывод каталога файлов;удаление файлов... - C++
Уважаемые хакеры!Прошу вашей помощи!Я в СИ не особо шарю.((( А на днях уже сдавать.Очень рассчитываю на любую вашу помощь. Вот задача. ...

Раздельная компиляция (нюансы использования заголовочных файлов и файлов реализации) - C++
Почему во многих учебниках функции-члены класса внутри класса только объявляют, но определяют вне самого класса (не, ну как бы в классе, но...

Сравнить содержимое файлов между собой, и если оно совпадает, то вывести на экран имена этих файлов - C++
Прошу помощи у знающих людей. Существует 2 массива, содержащих названия файлов.Требуется сравнить содержимое файлов между собой, и если...

Подключение заголовочных файлов и файлов реализации - C++
Здравствуйте,при создании класса в visual studio руками не компилится проект,при создании через add class все работает,для примера написал...

6
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
0
Corax111
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 74
15.09.2013, 02:38  [ТС] #3
У меня Visual C++ express 2010, я пробовал без инклюдов, он вообще игнорирует второй файл))
0
Brust
35 / 29 / 8
Регистрация: 16.07.2012
Сообщений: 68
15.09.2013, 02:48 #4
Вот что бы небыло путаницы, придумали правило:
Заголовочные файлы .h должны содержать обьявления функций, классов и т.д.
В .cpp же файлах принято писать реализацию уже этих функций.
Ибо компилятор при сборке проекта, сначало компилирует каждый .cpp файл из проекта отдельно, даже если код из него больше нигде не используется, и создает одноименные им объектные файлы - .o или .obj.
И только после компиляции каждого .cpp файла, уже после, из объектных файлов и собирается исполняемый файл.

По этому, в любой IDE, если .cpp файл включен в проект, он в любом случае будет скомпилирован, и смысла его подключать как у вас - уже нет.
А чтобы использовать функцию из другого .cpp, достаточно подключить .h файл с определением этой функции.
Возьмите правило на карандаш )
0
UranFlex
131 / 129 / 21
Регистрация: 25.05.2013
Сообщений: 233
15.09.2013, 02:51 #5
а создавал файд через меню IDE?
0
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");
}
0
alsav22
5428 / 4823 / 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;
}
0
15.09.2013, 06:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.09.2013, 06:31
Привет! Вот еще темы с ответами:

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

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

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

Вызов конструкторов - C++
привет почему здесь вызывается только 1 конструктор? #include &lt;iostream&gt; using namespace std; class A {


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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