2010-08-26 4 views
-4

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

#include "sum.h" 

где в sum.h я объявлю функцию или процедуры, а затем использовать его в .cpp файлах?

+9

Wha t? – GManNickG

+2

Errr ... знак «больше чем» - это опечатка, нет? (Если я понимаю ваш вопрос, ответ - да, кстати). – Raveline

+0

Да. Есть ли другая причина включать файлы заголовков? – Muxecoid

ответ

5

Насколько я могу судить, вы хотите объявить функции в заголовках, а затем включить заголовок где-нибудь и использовать его. Это нормально для заголовков. (Вы должны get a book, что объясняет это, поскольку отказ от информации в Интернете не принесет вам очень хорошей базы знаний.)

Вы можете пойти об этом двумя способами. Объявляет функции в заголовке, а затем определить их в какой-то единице перевода и связать с этим перевода единицы:

// sum.h 
int do_sum(int x, int y); // declare 

// sum.cpp 
#include "sum.h" // get declarations (strictly not needed) 

int do_sum(int x, int y) // define 
{ 
    return x + y; 
} 

Другой способ заключается в использовании inline избежать One-Definition Rule (ODR) и определить функции заголовок:

inline int do_sum(int x, int y) // define 
{ 
    return x + y; 
} 

Без inline, вы получите сообщение об ошибке на наличие нескольких определений функции.

+6

Более щедрый ответ, чем ваш «Что?» выше, но не так смешно :-). –

Смежные вопросы