Другие языки программирования и технологии
Как создать свой заголовочный файл в С++ и использовать его?
Как должен выглядеть текст *.h файла? И как использовать функции из него?
//текст h - это обычно объявления функций и классов, т. е. как бэ интерфейс:
//файл Header.h
int goUp(int value);
int goDown(int value);
class Point
{
int x,y;
public:
int GetX();
int GetY();
void SetX(int value);
void SetY(int value);
Point(int x,int y);
};
//файл header.cpp - содержит определения функции членов класса и обычных функций объявленных в header.h
#include "Header.h"
int goUp(int value)
{
return value*10;
}
int goDown(int value)
{
return value/10;
}
int Point::GetX()
{
return x;
}
int Point::GetY()
{
return y;
}
void Point::SetY(int value)
{
y = value;
}
void Point::SetX(int value)
{
x = value;
}
Point::Point(int xValue, int yValue)
{
x = xValue;
y = yValue;
}
//файл main.cpp -= содержит функции входа в программу
#include "header.cpp"
int main()
{
Point point(4,6);
return 0;
}
//файл Header.h
int goUp(int value);
int goDown(int value);
class Point
{
int x,y;
public:
int GetX();
int GetY();
void SetX(int value);
void SetY(int value);
Point(int x,int y);
};
//файл header.cpp - содержит определения функции членов класса и обычных функций объявленных в header.h
#include "Header.h"
int goUp(int value)
{
return value*10;
}
int goDown(int value)
{
return value/10;
}
int Point::GetX()
{
return x;
}
int Point::GetY()
{
return y;
}
void Point::SetY(int value)
{
y = value;
}
void Point::SetX(int value)
{
x = value;
}
Point::Point(int xValue, int yValue)
{
x = xValue;
y = yValue;
}
//файл main.cpp -= содержит функции входа в программу
#include "header.cpp"
int main()
{
Point point(4,6);
return 0;
}
Три файла.
Первый содержит функцию main и является точкой входа в программу. Этот файл следует назначать запускаемым проектом, в том случае, если файлов несколько. Его код следующий:
#include "Example.h"
#include <stdio.h>
using namespace std;
void main()
{
char str[25];
cout << "Please, input a Numeric" << endl;
gets(str);
if (IsNumeric(str)) cout<<"Good, " << str << " is a Numeric " << endl; else cout << "Error! " << endl;
cout<<"Please, input a Word"<<endl;
gets(str);
if (IsWord(str)) cout << "Good, " << str <<" is a Word " << endl; else cout << "Error! " << endl;
cout << "Please, input a Text" << endl;
gets(str);
if (IsText(str)) cout << "Good, " << str << " is a Text " << endl; else cout << "Error! " << endl;
cin.get();
}
Второй - это заголовочный Example.h, он содержит только перечисление и прототипы функций.
#include <iostream>
#include <ctype.h>
enum BOOL{F = 0,T = 1};
BOOL IsNumeric(char*);
BOOL IsWord(char*);
BOOL IsText(char*);
Третий - это файл исходного кода Example.cpp, который и содержит все функции.
#include "Example.h"
#include <string.h>
BOOL IsNumeric(char *s)
{ int n = 0;
while (s[n] != '\0')
{if (!isdigit(s[n])) return F; n++;}
return T;
}
BOOL IsWord(char *s)
{
for(int n = 0; n < strlen(s); n++)
if (!isalpha(s[n])) return F;
return T;
}
BOOL IsText(char *s)
{
for(int n = 0; n < strlen(s); n++)
if ((!isalpha(s[n])) && (!isdigit(s[n])) && (!ispunct(s[n])) && (s[n] != ' ')) return F;
return T;
}
Как видите оба файла исходного кода ссылаются на пользовательский заголовочный файл, его имя следует указывать в двойных кавычках, так как расположен он в самом проекте.
Создаётся заголовочный файл функцией IDE, аналогично файлу исходного кода.
Первый содержит функцию main и является точкой входа в программу. Этот файл следует назначать запускаемым проектом, в том случае, если файлов несколько. Его код следующий:
#include "Example.h"
#include <stdio.h>
using namespace std;
void main()
{
char str[25];
cout << "Please, input a Numeric" << endl;
gets(str);
if (IsNumeric(str)) cout<<"Good, " << str << " is a Numeric " << endl; else cout << "Error! " << endl;
cout<<"Please, input a Word"<<endl;
gets(str);
if (IsWord(str)) cout << "Good, " << str <<" is a Word " << endl; else cout << "Error! " << endl;
cout << "Please, input a Text" << endl;
gets(str);
if (IsText(str)) cout << "Good, " << str << " is a Text " << endl; else cout << "Error! " << endl;
cin.get();
}
Второй - это заголовочный Example.h, он содержит только перечисление и прототипы функций.
#include <iostream>
#include <ctype.h>
enum BOOL{F = 0,T = 1};
BOOL IsNumeric(char*);
BOOL IsWord(char*);
BOOL IsText(char*);
Третий - это файл исходного кода Example.cpp, который и содержит все функции.
#include "Example.h"
#include <string.h>
BOOL IsNumeric(char *s)
{ int n = 0;
while (s[n] != '\0')
{if (!isdigit(s[n])) return F; n++;}
return T;
}
BOOL IsWord(char *s)
{
for(int n = 0; n < strlen(s); n++)
if (!isalpha(s[n])) return F;
return T;
}
BOOL IsText(char *s)
{
for(int n = 0; n < strlen(s); n++)
if ((!isalpha(s[n])) && (!isdigit(s[n])) && (!ispunct(s[n])) && (s[n] != ' ')) return F;
return T;
}
Как видите оба файла исходного кода ссылаются на пользовательский заголовочный файл, его имя следует указывать в двойных кавычках, так как расположен он в самом проекте.
Создаётся заголовочный файл функцией IDE, аналогично файлу исходного кода.
как создать заголовочный файл с расширением .h ?
Похожие вопросы
- Дан файл целых чисел. Создать два новых файла, первый из которых содержит положительные числа из исходного файла...
- Даны два текстовых файла А1 и А2. Создать 3-ий файл в котором будет первая половина А1 и вторая половина А2.
- Создать один html-файл, чтоб все картинки были в одном файле, а не в отдельной папке
- Вопрос по .bat файлу. Как создать пустой txt файл через командную строку?
- Как в паскале процедуру или функция сохранить в файл а потом её использовать?
- сайт. как создать сайт? надо сервер? или комп можно использовать? роскажите все об этом.
- Создать список из повторяющихся слов текста из файла. Первый элемент-наиб. часто повторяющееся слово/ Паскаль. (+)
- Как создать файл .exe, который запустит любой другой файл (В том числе и .exe)? !Прочитайте пояснения в вопросе!
- Помагите,как создать файл .ехе ?
- Помогите создать командный файл!