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

разбитие программы на файлы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ прокомментируйте программу http://www.cyberforum.ru/cpp-beginners/thread438186.html
#include <iostream> #include <fstream> #include <string> using namespace std; int main() { int n; cout << "n = "; cin >> n; int *a = new int; for (int i = 0; i < n; i++) { cout << "a = ";
C++ Прокомментируйте программу #include <iostream> #include <fstream> #include <string> using namespace std; int main() { int n; cout << "n = "; cin >> n; int **a = new int*; http://www.cyberforum.ru/cpp-beginners/thread438185.html
C++ Функция с массивом.
Ребята, пожалуйста помогите решить такую задачу. Если не сложно, с комментариями, но можно и без них, разберусь тогда сам. Заранее спасибо. p/s там ошибка, не sin u, a sin x
C++ Применение массивов и функций
Здравствуйте!Помогите сделать программку Вычисление функции X=...... Y=...... SN=...... SE=..... о_погрSN о_погрSE X=...... Y=...... SN=...... SE=..... о_погрSN о_погрSE .......... X=...... Y=...... SN=...... SE=..... о_погрSN о_погрSE Здесь X- значение параметра; SN- значение суммы для заданного n; SE- значение суммы для заданной точности; Y-точное...
C++ Получить массив байтов из int32_t http://www.cyberforum.ru/cpp-beginners/thread438109.html
Собственно сабж! Самое элегантное решение, но как мне кажется не совсем безопасное это что-то типа этого int32_t i; reinterpret_cast<char *>(&i); или же struct arr{ char a1; // либо int8_t
C++ Массивы и функции Функция такова y=1/2(одна вторая) ln x (логарифм от x вроде) y=1/2 ln x Попрошу вас дорогие программисты , в с++ переделать с массивами мой код #include <cstdlib> #include <iostream> #include <math.h> using namespace std; //y=1/2*log(x) //x=0,1,2,3,4,5,6,7,8,9; float y(float x) подробнее

Показать сообщение отдельно
StasGamilton
Эксперт по пяченькам
 Аватар для StasGamilton
67 / 67 / 1
Регистрация: 16.08.2011
Сообщений: 258
31.01.2012, 00:55     разбитие программы на файлы
Для Си
Пример - в программе две функции function1(), function2()
Можно описать в одном файле так:

файл main.c
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
#include <заголовочный файл>
....
 
void function1();     //объявления
void function2();
 
main()
{
....
function1(); //вызов
....
function2();
...
}
 
void function1()     //описание функции
{
 ....
}
 
void function2()
{
   ...
}
тогда можно так

файл function.h
C
1
2
3
4
5
#include <заголовочные файлы.h>  // не всегда нужно
...
 
void function1();   //объявление функций
void fucntion2();
файл function.c
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <заголовочные файлы.h>
...
#include "function.h"
 
void function1()     //описание функции
{
 ....
}
 
void function2()
{
   ...
}
файл main.c
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <заголовочные файлы.h>
....
#include "function.h"
 
main()
{
   ...
   function1();
   ...
   functiin2();
   ....
}
Добавлено через 10 минут
Суть в том что функции (классы - для С++) распределяются по файлам, в файле .h пишут сигнатуру функций или описывают класс, а в файлах .c или .cpp пишут сам код (не всегда так - можно и в .h писать код, но не советую, так намного логичнее и проще, плюс могут возникнуть проблемы).
В других файлах не должно быть функции main!
Форматы - .h, .c, .cpp (вроде еще где-то видел .hpp - но я точно не скажу, не пользовался).
Чтобы заставить главный файл использовать функции из других файлов, в нем должен быть прописано
C
1
#include "нужный файл.h"
здесь прописывается путь к файлу, если все в одной папке можно только имя файла, либо относительный путь.
И можно использовать функции из тех файлов, как-будто они описаны в главном файле)

Добавлено через 6 минут
Ой чуть не забыл, в .h файле надо написать (в небольших программах не всегда нужно - но лучше использовать всегда)

C
1
2
3
4
5
6
7
8
#ifndef FILE_TAKOY_TO_H  // можно и другое название придумать - главное чтобы оно было уникальным
#define FILE_TAKOY_TO_H
 
.....
// Код написанный в загаловочном файле
.....
 
#endif
 
Текущее время: 22:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru