# - директивы препроцессора

#include

Могут использоваться для компиляции слегка отличающегося кода в зависимости от обстоятельств.
Например, "a debug build"

#ifndef / #endif и #define
#pragma once

В программу ClassesAndObjects.cpp включаем заголовочный файл Person.h


В заголовочном файле Person.h
задаем проверку - если файл не включен, то включить

#ifndef _Person_H
#define _Person_H
class Person
{
//...
};
#endif




#pragma once — нестандартная, но широко распространенная препроцессорная директива, разработанная для контроля за тем, чтобы конкретный исходный файл при компиляции подключался строго один раз. (wiki)