( , . header file), , «» , ({$I file.inc} , #include <file.h> ).
C++, , , , , , , . .h; C++ .hpp. , #ifndef, #define, #endif. , ( inline- C++) . , , , , . .
, ++.
|
|
[]
int add(int a, int b) { return a + b; }
int add(int, int); int triple(int x) { return add(x, add(x, x)); }
, , add , , , . , .
. , , , add. , add, #include :
/* File triple.c */ #include "add.h" int triple(int x) { return add(x, add(x, x)); }
/* File add.h */ #ifndef ADD_H #define ADD_H int add(int, int); #endif /* ADD_H */
#ifndef - #endif #pragma once:
/* File add.h */ #pragma once int add(int, int);
(, ). , , . , h- c-:
/* File add.c */ #include "add.h" int add(int a, int b) { return a + b; }
, , . , ( C++ , - , ).
[]
, . . . , Java .
[]
: , , Y X.
, . , STL:
// unit.h #ifndef __UNIT_H__ #define __UNIT_H__ #ifndef UNIT_STL_UNUSED #include <iostream> void dump(std::ostream& os); void dump() { dump(std::cout); } #endif void run(); #endif
// main.cpp #define UNIT_STL_UNUSED #include "unit.h" int main() { run(); return 0; }
, , .
c-, , , .
[]
C++ (, inline-, , static-) .
c-, h-, . C++, , . h- , c- h-.
(, Java) .
[] .
- C++ ++
[]
[]
- . . 8. // ++ / . . .. 4. .: , 2003. . 263-280. 560 . ISBN 5-279-02204-7, 004.438(075.8) 32.973.26-018 1173