ВУЗ:
Составители:
Рубрика:
Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
один раз. Но может случиться так, что один и тот же h-файл может быть
подключен несколько раз косвенно через другие заголовочные файлы. В
нашем примере файл “Student.h” должен быть подключен в файлах
“Student.cpp”, “Group.h” и “main.cpp”, поскольку в них
используется класс Student для создания объектов. При этом в файле
“main.cpp” происходит подключение файла “Student.h” дважды:
явно и через “Group.h”. В этом случае возникает ошибка. Чтобы
избежать этого, существует стандартный прием. В его основу положена
директива
#ifndef _STUDENT_H_
#define _STUDENT_H_
// объявление класса Student
. . .
#endif
Она означает: выполнить операторы, заключенные между #ifndef
и #endif только в случае, если имя _STUDENT_H_ не определено, т.е.
ранее не встречалась директива #define _STUDENT_H_. Тогда файл
“Student.h” будет подключен к другому файлу только один раз.
// файл Student.h
#ifndef _STUDENT_H_
#define _STUDENT_H_
// объявление класса «Студент»
class Student
{
private:
char fio[100]; // фамилия, имя, отчество
int dayBirth; // дата рождения
int monthBirth;
int yearBirth;
int numberOfTestBook; // номер зачетной книжки
double averageMark; // средний балл успеваемости
public:
// метод инициализации данных студента
void Init(char*, int, int, int, int, double = 0.0);
// метод заполнения свойств студента
void Fill(char*, int, int, int, int, double);
// метод получения фамилии,
// имени и отчества студента
char* GetFio();
// метод получения даты рождения
62
Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
один раз. Но может случиться так, что один и тот же h-файл может быть
подключен несколько раз косвенно через другие заголовочные файлы. В
нашем примере файл “Student.h” должен быть подключен в файлах
“Student.cpp”, “Group.h” и “main.cpp”, поскольку в них
используется класс Student для создания объектов. При этом в файле
“main.cpp” происходит подключение файла “Student.h” дважды:
явно и через “Group.h”. В этом случае возникает ошибка. Чтобы
избежать этого, существует стандартный прием. В его основу положена
директива
#ifndef _STUDENT_H_
#define _STUDENT_H_
// объявление класса Student
. . .
#endif
Она означает: выполнить операторы, заключенные между #ifndef
и #endif только в случае, если имя _STUDENT_H_ не определено, т.е.
ранее не встречалась директива #define _STUDENT_H_. Тогда файл
“Student.h” будет подключен к другому файлу только один раз.
// файл Student.h
#ifndef _STUDENT_H_
#define _STUDENT_H_
// объявление класса «Студент»
class Student
{
private:
char fio[100]; // фамилия, имя, отчество
int dayBirth; // дата рождения
int monthBirth;
int yearBirth;
int numberOfTestBook; // номер зачетной книжки
double averageMark; // средний балл успеваемости
public:
// метод инициализации данных студента
void Init(char*, int, int, int, int, double = 0.0);
// метод заполнения свойств студента
void Fill(char*, int, int, int, int, double);
// метод получения фамилии,
// имени и отчества студента
char* GetFio();
// метод получения даты рождения
62
Страницы
- « первая
- ‹ предыдущая
- …
- 60
- 61
- 62
- 63
- 64
- …
- следующая ›
- последняя »
