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

Как вынести функцию с++ в отдельный файл - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 31, средняя оценка - 4.94
vinchesteras
2 / 2 / 0
Регистрация: 04.11.2011
Сообщений: 39
19.04.2013, 19:29     Как вынести функцию с++ в отдельный файл #1
Как вынести функцию в отдельный файл как в PHP например:

Например есть функция
C++
1
2
3
4
5
6
7
int function(){
int a,b,c;
 
a=3;
b=5;
c=a+b;
}
и как затем подключить её в cpp файл?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,155
Завершенные тесты: 1
19.04.2013, 19:33     Как вынести функцию с++ в отдельный файл #2
Первый файл, подключенный к проекту (a.cpp):
C++
1
2
3
4
5
6
int function(){
int a,b,c;
a=3;b=5;
c=a+b;
return c;
}
Второй файл, подключенный к проекту (b.cpp):
C++
1
2
3
4
5
6
int function();
int main()
{
   int x=function();
   return 0;
}
vinchesteras
2 / 2 / 0
Регистрация: 04.11.2011
Сообщений: 39
19.04.2013, 21:06  [ТС]     Как вынести функцию с++ в отдельный файл #3
а как файлы друг к другу подключать?
dimkaok
 Аватар для dimkaok
1 / 1 / 0
Регистрация: 06.03.2013
Сообщений: 128
19.04.2013, 21:29     Как вынести функцию с++ в отдельный файл #4
Нужно написать в начале файла:

C++
1
#include "имя_подключаемого файла.h"
или так:

C++
1
#include "имя_подключаемого файла.cpp"
Имя может быть не в кавычках, а в скобках:

C++
1
#include <имя_подключаемого файла.h>
Скобки означают, что поиск файла осуществляется в директории, где
находятся все стандартные файлы (например, iostream), а кавычки - что
поиск идет в директории с проектом
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,155
Завершенные тесты: 1
19.04.2013, 21:31     Как вынести функцию с++ в отдельный файл #5
Если в Visual Studio, то просто к проекту подключаем оба файла.
Никаких #include Не надо
vinchesteras
2 / 2 / 0
Регистрация: 04.11.2011
Сообщений: 39
20.04.2013, 06:37  [ТС]     Как вынести функцию с++ в отдельный файл #6
использую Borland. А с каких строк должен начинаться подключаемый файл? Я пробовал так подключать у меня в подключаемом файле появляются какие-то ошибки например в такой строке
C++
1
int my_func(){
dimkaok
 Аватар для dimkaok
1 / 1 / 0
Регистрация: 06.03.2013
Сообщений: 128
20.04.2013, 10:57     Как вынести функцию с++ в отдельный файл #7
Цитата Сообщение от vinchesteras Посмотреть сообщение
А с каких строк должен начинаться подключаемый файл?

С самых первых строк:

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
// Test.h
#include <iostream>
 
class CTest {
 
  public:
 
      void display ();
};
 
// Test.cpp
#include "Test.h"
 
void CTest::display ()
        { std::cout << "Hello" << std::endl; }
 
// main.cpp
#include "Test.h"
 
int main(int argc, char** argv) {
 
    CTest obj;
    obj.display();
 
    return 0;
}
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.04.2013, 11:21     Как вынести функцию с++ в отдельный файл #8
Цитата Сообщение от vinchesteras Посмотреть сообщение
Как вынести функцию в отдельный файл
Обычно делается так: прототипы помещаются в .h файл (с использованием конструкции для защиты от множественных включений в один файл); реализации - в отдельный .cpp файл; в файле (с main()), где вызываются функции, подключается файл с прототипами (.h). Файлы .cpp должны быть включены в проект.
Файл f.h:
C++
1
2
3
4
5
6
#ifndef F_F_H
#define F_F_H
 
int function();
 
#endif
Файл f.cpp:
C++
1
2
3
4
5
6
7
8
9
int function()
{
    int a, b, c;
 
    a = 3;
    b = 5;
    c = a + b;
    return c;
}
Файл с main():
C++
1
2
3
4
5
6
7
8
9
#include "f.h"
 
int main()
{
    
    function();
    
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2013, 10:21     Как вынести функцию с++ в отдельный файл
Еще ссылки по теме:

Не получается вынести класс в отдельный файл C++
Как вынести структуру в отдельный файл C++
Вынести код создания списка в отдельный модуль C++

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

Или воспользуйтесь поиском по форуму:
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
25.04.2013, 10:21     Как вынести функцию с++ в отдельный файл #9
Цитата Сообщение от dimkaok Посмотреть сообщение
или так:
C++
1
#include "имя_подключаемого файла.cpp"
Так делать точно не следует. Иначе никакой раздельной компиляции не получится, поскольку #include просто текстово подставляет содержимое файла в код, а то и вообще проблемы с конфликтами имён могут возникнуть. alsav22 правильно сказал, именно так надо делать.
Цитата Сообщение от dimkaok Посмотреть сообщение
С самых первых строк:
Это не обязательно. Главное, чтобы заголовочный файл был подключён до первого использования символов, объявленных в нём (это относится к C++).
Yandex
Объявления
25.04.2013, 10:21     Как вынести функцию с++ в отдельный файл
Ответ Создать тему
Опции темы

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