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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Starstuck
4 / 4 / 0
Регистрация: 01.02.2012
Сообщений: 124
#1

Разбить на два файла .h и .cpp - C++

23.03.2013, 14:05. Просмотров 1201. Ответов 12
Метки нет (Все метки)

Ребят, подскажите, как правильно разбить эту программу на два файла .h и .cpp

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
27
#include <math.h>
#include <iostream>
 
class square
{
    private:
        double x,y,l;
    public:
    double find_s(double l) { return l*l; };
    double find_p( double l) { return l; };
    double dif_s (double l, double l1) { return abs(l*l-l1*l1); };
    void print_koordinati (double x, double y, double l )
    {
        printf("%f%f\n",x,y );
        printf("%f%f\n",x+l,y );
        printf("%f%f\n",x,y+l );
        printf("%f%f\n",x+l,y+l );
    };
};
 
int main()
{ square s1;
  printf("%f\n",s1.find_s(2));
    
s1.print_koordinati(1,1,2);
    
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2013, 14:05     Разбить на два файла .h и .cpp
Посмотрите здесь:

Два файла .cpp в проекте - C++
Файлы DayOfWeek и main(откуда вызываются методы из DayOfWeek). Пишет ошибку на скрине,что не так? И что такое #include &lt;stdexcept&gt;? ...

Как связать два cpp файла в одном проекте (visual studio 2010) - C++
Есть два программы: одна создает файл.txt, вторая читает из него данные и выводит на экран. создает файл #include &lt;iostream&gt; ...

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

Разбить main.cpp на файлы - C++
Есть вот такой main.cpp: #include &lt;stdlib.h&gt; #include &lt;iostream&gt; #include &lt;string.h&gt; //#include &lt;stdint.h&gt; //#include &lt;limits.h&gt; ...

Разбить исходный код на main.cpp и my.h - C++
#include &lt;windows.h&gt; #include &lt;iostream&gt; using namespace std; class vremya { public: int vvod(); int vivod(); ...

Как разбить код на несколько *.CPP* - C++
Как разбить код на несколько *.CPP* Добрый вечер - при изучении языка С где то в литературе видемо упустил такую информацию и не где...

Разбить массив на два - C++
3. Дано масив (А) із К елементів (К- парне число). Утворити 2 масиви (В і С), переписуючи у масив В першу половину масиву А, у масив С –...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
Эксперт C
15841 / 10168 / 1522
Регистрация: 24.12.2010
Сообщений: 19,177
23.03.2013, 14:17     Разбить на два файла .h и .cpp #2
Строки 4 - 19 суешь в my.h
В начало my.h ставишь
C++
1
2
#ifndef MY_H
#define MY_H
В конец
C++
1
#endif
Вместо строк 4-19 вставляешь 1 строчку #include "my.h"
Все.
Теперь главное. Пойми простую штуку. Если в тексте программы встречается #include "файл", то этот файл просто вставляется на место этого include. И больше никаких секретов нет.
Программирующие на Си, Си++ кое о чем договорились, как это использовать. Но прекомпилятор об этих договорах ничего не знает и тупо делает свою макросную работу.
Starstuck
4 / 4 / 0
Регистрация: 01.02.2012
Сообщений: 124
23.03.2013, 14:53  [ТС]     Разбить на два файла .h и .cpp #3
Байт, Всё понял, спасибо!
beta-particle
4 / 4 / 0
Регистрация: 07.01.2013
Сообщений: 103
23.03.2013, 14:58     Разбить на два файла .h и .cpp #4
Вопрос: А зачем нужно #ifndef и #endif?
sovaz1997
CEO SOVAZ Corp.
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
23.03.2013, 15:05     Разбить на два файла .h и .cpp #5
Почитай здесь
Starstuck
4 / 4 / 0
Регистрация: 01.02.2012
Сообщений: 124
23.03.2013, 15:34  [ТС]     Разбить на два файла .h и .cpp #6
Выдаёт ошибку! Написал на XCode - всё окей. Компилирую на DevC++ - выдает бог знает что. Помогите

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
27
#include <math.h>
#include <iostream>
 
class square
{
    private:
        double x,y,l;
    public:
    double find_s(double l) { return l*l; };
    double find_p( double l) { return l; };
    double dif_s (double l, double l1) { return abs(l*l-l1*l1); };
    void print_koordinati (double x, double y, double l )
    {
        printf("%f%f\n",x,y );
        printf("%f%f\n",x+l,y );
        printf("%f%f\n",x,y+l );
        printf("%f%f\n",x+l,y+l );
    };
};
 
int main()
{ square s1;
  printf("%f\n",s1.find_s(2));
    
s1.print_koordinati(1,1,2);
    
}
sovaz1997
CEO SOVAZ Corp.
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
23.03.2013, 15:38     Разбить на два файла .h и .cpp #7
Какие ошибки выдает?
Starstuck
4 / 4 / 0
Регистрация: 01.02.2012
Сообщений: 124
23.03.2013, 15:40  [ТС]     Разбить на два файла .h и .cpp #8
sovaz1997, 11 строка

C:\Users\DENIS\Desktop\ysatiy.cpp In member function `double square::dif_s(double, double)':
11 C:\Users\DENIS\Desktop\ysatiy.cpp [Warning] passing `double' for converting 1 of `int abs(int)'
Байт
Эксперт C
15841 / 10168 / 1522
Регистрация: 24.12.2010
Сообщений: 19,177
23.03.2013, 15:41     Разбить на два файла .h и .cpp #9
Цитата Сообщение от beta-particle Посмотреть сообщение
А зачем нужно #ifndef и #endif?
В двух словах, чтоб не было случайного повторного включения, которое приведет в созданию бесконечного файла.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.03.2013, 15:49     Разбить на два файла .h и .cpp #10
Вместо abs() используйте fabs().
Starstuck
4 / 4 / 0
Регистрация: 01.02.2012
Сообщений: 124
23.03.2013, 15:51  [ТС]     Разбить на два файла .h и .cpp #11
alsav22, спасибо
coloc
погромист
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
23.03.2013, 16:06     Разбить на два файла .h и .cpp #12
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
27
28
#include <cmath>
#include <iostream>
#include <cstdio>
 
class square
{
    private:
        double x,y,l;
    public:
    double find_s(double l) { return l*l; }
    double find_p( double l) { return l; }
    double dif_s (double l, double l1) { return fabs(l*l-l1*l1); }
    void print_koordinati (double x, double y, double l )
    {
        printf("%f%f\n",x,y );
        printf("%f%f\n",x+l,y );
        printf("%f%f\n",x,y+l );
        printf("%f%f\n",x+l,y+l );
    }
};
 
int main()
{ square s1;
  printf("%f\n",s1.find_s(2));
    
s1.print_koordinati(1,1,2);
    
}
у меня тоже DevC++, все компилирует
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2013, 16:55     Разбить на два файла .h и .cpp
Еще ссылки по теме:

Компиляция файла cpp - C++
Ситуация: среды visual studio нет и не будет. Имеется файл с расширением cpp. Как его скомпилировать через командную строку? С cs все...

Создание файла .h и файла .cpp - C++
Написать программу, которая состоит из следующих действий: 1. Создание заголовочного файла (с расширением .h). В файле описывается: *-...

Подключение файла #include <name.cpp> - C++
Здравствуйте. Скажите, если программа состоит из нескольких файлов, можно-ли подключать cpp - файлы, или подключать можно только хедеры? ...

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

Перенос из головного файла h в CPP файл - C++
#include &lt;iostream&gt; #include &lt;string&gt; #include &quot;OverOper.h&quot; using namespace std; int main () { do { cout &lt;&lt; &quot;1. Use...


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

Или воспользуйтесь поиском по форуму:
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
23.03.2013, 16:55     Разбить на два файла .h и .cpp #13
Цитата Сообщение от Байт Посмотреть сообщение
В двух словах, чтоб не было случайного повторного включения, которое приведет в созданию бесконечного файла.
Ну не только для этого. Даже я б сказал редко для этого. Это директивы препроцессора, изменяющие код программы перед последующей компиляцией и сборкой.
В основном #ifdef/#ifndef для исключения/добавления в программу кусков программного кода в зависимости от определённых(дефайнами) макросов.

Добавлено через 1 час 6 минут
Yandex
Объявления
23.03.2013, 16:55     Разбить на два файла .h и .cpp
Ответ Создать тему
Опции темы

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