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

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

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

Подключение заголовочного файла - C++

25.01.2014, 16:32. Просмотров 1167. Ответов 9
Метки нет (Все метки)

Как подключить правильно заголовочный файл и какие библиотеки подключать в заголовочном файле?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2014, 16:32     Подключение заголовочного файла
Посмотрите здесь:

Подключение заголовочного файла - C++
При подключении заголовочного файла вылазит ошибка: Код: #include "stdafx.h" #include <iostream> #include <iomanip> ...

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

Подключение заголовочного файла std_lib_facilities.h - C++
Здравствуйте. Учу C++ по книге Stroustrup'а. Автор настоятельно просит использовать библиотеку std_lib_facilities.h Создал...

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

Подключение заголовочного файла QList - C++
Что-то затупил по структуре проекта. есть header.h: #include <QList> ...//код Подключаем в .cpp

Подключение заголовочного файла record.h - C++
Есть программа, только она не запускается на моём компе (долго рассказывать почему). Если можете, запустите её у себя и скиньте результат...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,012
25.01.2014, 16:35     Подключение заголовочного файла #2
Вопрос без намека на хоть какую-нибудь конкретику.
Для подключения заголовочных файлов используется директива #include.
#include <имя_файла> или #include "имя_файла"
Что конкретно не ясно?
MrGluck
Модератор
Эксперт CЭксперт С++
7163 / 4329 / 632
Регистрация: 29.11.2010
Сообщений: 11,751
25.01.2014, 16:37     Подключение заголовочного файла #3
Когда мы указывает заголовочный файл, входящий в стандартную библиотеку, то пишем его название в угловых скобках и его путь ищет линкер в определенной папке со всеми инклюдами, когда нужно указать пользовательский, то указываем его имя в кавычках и его ищет в папке с проектом или бинарником (зависит от IDE).
Вот пример:
C++
1
2
#include <iostream> // подключаем заголовочный файл для ввода-вывода (входит в стандартную библиотеку)
#include "MyClass.h" // подключаем собственный заголовочный файл (лежит где-то рядом)
Pro100Whisky
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 32
25.01.2014, 16:38  [ТС]     Подключение заголовочного файла #4
0x10, Вопрос, как правильно запихнуть код в заголовочный файл?
MrGluck
Модератор
Эксперт CЭксперт С++
7163 / 4329 / 632
Регистрация: 29.11.2010
Сообщений: 11,751
25.01.2014, 16:39     Подключение заголовочного файла #5
Мануал для CB:
code::blocks не находит .h файл
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,012
25.01.2014, 16:40     Подключение заголовочного файла #6
Цитата Сообщение от Pro100Whisky Посмотреть сообщение
Вопрос, как правильно запихнуть код в заголовочный файл?
1. Создать файл.
2. Написать в нем код.
Все.

Единственное - чтобы избежать повторного включения одного и того же файла, следует использовать include guard или pragma once (http://ru.wikipedia.org/wiki/Include_guard)
Pro100Whisky
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 32
25.01.2014, 16:57  [ТС]     Подключение заголовочного файла #7
Ребят не получается раскидать по файлу. Помогите, плиз. Вот код.
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include "stdafx.h"
#include <string>
#include <iostream>
using namespace std;
 
 
class MyClass
{
    int x, y, z;
public:
    friend ostream &operator << (ostream &, const MyClass&); // перегрузка опер.вывода, ключевое слово << (ссылка на перегрузку оператора, ссылка на класс)
    friend istream &operator >> (istream &, MyClass&);       // перегрузка опер.ввода, ключевое слово >> (ссылка на перегрузку оператора, ссылка на класс)
};
 
istream &operator >> (istream &in, MyClass& my) // перегрузка функции ввода
{
    return in >> my.x  >> my.y>> my.z;
}
 
ostream &operator << (ostream &out, const MyClass& my) // перегрузка функции вывода
{
    string h;
    switch(my.y)
    {
    case 01: {if(my.x<=31){h="января"; break;}else {h="неправильный ввод";break;}}
    case 02: {if(my.x<=28){h="февраля"; break;}else {h="неправильный ввод";break;}}
    case 03: { h="март"; break;}
    case 04:  {h="апрель"; break;}
    case 05: { h="май"; break;}
    case 06:  {h="июнь"; break;}
    case 07: { h="июль"; break;}
    case 8:  {h="август";break;}
    case 9:  {h="сентябрь";break;}
    case 10:  {h="октябрь";break;}
    case 11:  {h="ноябрь";break;}
    case 12:  {h="декабрь";break;}
    default: h="неправильный ввод";
    }
    if(h=="неправильный ввод")return out<<h;
    else
    return out << my.x << " " << h<<" "<<my.z<<" года";
}
 
int main()
{
    setlocale(0,"Rus");
    MyClass m;
    cin >> m;
    cout << m;
}
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,012
25.01.2014, 17:03     Подключение заголовочного файла #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
// MyClass.h
#pragma once
 
#include <iosfwd>
 
class MyClass
{
    int x, y, z;
public:
    friend std::ostream &operator << (std::ostream &, const MyClass&); // перегрузка опер.вывода, ключевое слово << (ссылка на перегрузку оператора, ссылка на класс)
    friend std::istream &operator >> (std::istream &, MyClass&);       // перегрузка опер.ввода, ключевое слово >> (ссылка на перегрузку оператора, ссылка на класс)
};
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
29
30
31
32
33
34
// MyClass.cpp
#include "MyClass.h"
 
#include <iostream>
#include <string>
 
std::istream &operator >> (std::istream &in, MyClass& my) // перегрузка функции ввода
{
    return in >> my.x  >> my.y>> my.z;
}
 
std::ostream &operator << (std::ostream &out, const MyClass& my) // перегрузка функции вывода
{
    std::string h;
    switch(my.y)
    {
    case 01: {if(my.x<=31){h="января"; break;}else {h="неправильный ввод";break;}}
    case 02: {if(my.x<=28){h="февраля"; break;}else {h="неправильный ввод";break;}}
    case 03: { h="март"; break;}
    case 04:  {h="апрель"; break;}
    case 05: { h="май"; break;}
    case 06:  {h="июнь"; break;}
    case 07: { h="июль"; break;}
    case 8:  {h="август";break;}
    case 9:  {h="сентябрь";break;}
    case 10:  {h="октябрь";break;}
    case 11:  {h="ноябрь";break;}
    case 12:  {h="декабрь";break;}
    default: h="неправильный ввод";
    }
    if(h=="неправильный ввод")return out<<h;
    else
    return out << my.x << " " << h<<" "<<my.z<<" года";
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
// main.cpp
#include <iostream>
 
#include "MyClass.h"
 
int main()
{
    setlocale(0,"Rus");
    MyClass m;
    //cin >> m;
    std::cout << m;
}
Pro100Whisky
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 32
25.01.2014, 17:18  [ТС]     Подключение заголовочного файла #9
0x10, Спасибо и правда всё заработало.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.01.2014, 17:23     Подключение заголовочного файла
Еще ссылки по теме:

Подключение заголовочного файла из Borland 3.1 к Visual Studio 2010 - C++
Приветствую вас. Вопрос в следующим. Есть к примеру белиотека из старенького borland 3.1. Я Хотел бы ее подключить к visual studio...

Подключение заголовочного файла "level.h" (tinyXML) в нескольких файлах - C++
Здравствуйте, хотел бы уточнить у знающих людей, почему не компилится проект с использованием tinyXML. У меня есть вот такой кусок кода в...

Связь заголовочного файла и файла с описанием класса. - C++
Всем привет! На картинке я выложил код из одной книжки, у меня возникли некоторые вопросы: - Должен ли компилироваться файл TIME1.CPP? ...

Создание заголовочного файла - C++
Прошу прощения за глупый вопрос, но гугл мне не помог :( Например, создаю 3 файла: prog.cpp #include &lt;iostream&gt; #include...

Создание заголовочного файла .h - C++
Подскажите как создать свою, пользовательскую библиотеку .h! Компилятор Dev c++


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

Или воспользуйтесь поиском по форуму:
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.01.2014, 17:23     Подключение заголовочного файла #10
Цитата Сообщение от Pro100Whisky Посмотреть сообщение
Вопрос, как правильно запихнуть код в заголовочный файл?
Общий принцип: объявления в .h, реализации в .cpp, там, где нужно использовать то, что в .h, делается #include ".h". Исключение составляют шаблоны. Для них, объявления и реализации, должны находиться в одном файле (.h).
Yandex
Объявления
25.01.2014, 17:23     Подключение заголовочного файла
Ответ Создать тему
Опции темы

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