0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 35
1

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

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

Author24 — интернет-сервис помощи студентам
Как подключить правильно заголовочный файл и какие библиотеки подключать в заголовочном файле?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.01.2014, 16:32
Ответы с готовыми решениями:

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

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

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

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

9
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
25.01.2014, 16:35 2
Вопрос без намека на хоть какую-нибудь конкретику.
Для подключения заголовочных файлов используется директива #include.
#include <имя_файла> или #include "имя_файла"
Что конкретно не ясно?
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
25.01.2014, 16:37 3
Когда мы указывает заголовочный файл, входящий в стандартную библиотеку, то пишем его название в угловых скобках и его путь ищет линкер в определенной папке со всеми инклюдами, когда нужно указать пользовательский, то указываем его имя в кавычках и его ищет в папке с проектом или бинарником (зависит от IDE).
Вот пример:
C++
1
2
#include <iostream> // подключаем заголовочный файл для ввода-вывода (входит в стандартную библиотеку)
#include "MyClass.h" // подключаем собственный заголовочный файл (лежит где-то рядом)
0
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 35
25.01.2014, 16:38  [ТС] 4
0x10, Вопрос, как правильно запихнуть код в заголовочный файл?
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
25.01.2014, 16:39 5
Мануал для CB:
code::blocks не находит .h файл
0
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
25.01.2014, 16:40 6
Цитата Сообщение от Pro100Whisky Посмотреть сообщение
Вопрос, как правильно запихнуть код в заголовочный файл?
1. Создать файл.
2. Написать в нем код.
Все.

Единственное - чтобы избежать повторного включения одного и того же файла, следует использовать include guard или pragma once (http://ru.wikipedia.org/wiki/Include_guard)
0
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 35
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;
}
0
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
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;
}
1
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 35
25.01.2014, 17:18  [ТС] 9
0x10, Спасибо и правда всё заработало.
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
25.01.2014, 17:23 10
Цитата Сообщение от Pro100Whisky Посмотреть сообщение
Вопрос, как правильно запихнуть код в заголовочный файл?
Общий принцип: объявления в .h, реализации в .cpp, там, где нужно использовать то, что в .h, делается #include ".h". Исключение составляют шаблоны. Для них, объявления и реализации, должны находиться в одном файле (.h).
0
25.01.2014, 17:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.01.2014, 17:23
Помогаю со студенческими работами здесь

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

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

подключение заголовочного файла в двух файлах
пусть дан класс интерфейса ClassIface с некоторыми методами и пусть даны два класса Client и...

Подключение заголовочного файла к нескольким CPP
Доброго времени суток! У меня проблема такого рода: есть base.h в котором имеется набор функций и...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru