C/C++ 007 5 8 1 1.1............................................... 1.......................................... 1.3.......................................... 5 1........................................... 11 1
1 1.1 *1 1. sep1.cpp main() sep.cpp separate() *1 GNOME KDE 3
sep1.cpp 5 e x t e r n i n t s e p a r a t e ( v o i d ) ; 6 7 i n t main ( v o i d ) 8 { 9 cout << s e p a r a t e ( ) << e n d l ; 10 } sep.cpp 1 i n t s e p a r a t e ( v o i d ) { 3 r e t u r n 1356789; } gcc g++ -o sep.exe sep1.cpp sep.cpp bcc3 bcc3 -esep.exe sep1.cpp sep.cpp 1356789 sep.exe 1..1 extern sep1.cpp 5 separate() extern separate() * * C++ C 3
extern *3 sep1.cpp sep.cpp sep1.cpp sep.cpp separate() 5 separate() sep1.cpp extern sep1 sep.cpp 1.. sep1.cpp separate() (sep.cpp) separate() separate() sep1.cpp sep.cpp 3 sep1.cpp sep.cpp C++ (overload) overload.cpp 5 v o i d hage ( v o i d ) 6 { 7 cout << v o i d h a g e ( ) << e n d l ; 8 } 9 10 v o i d hage ( i n t i ) 11 { 1 cout << i n t h a g e ( ) : i << e n d l ; *3 extern
13 } 1 15 v o i d hage ( s t r i n g s ) 16 { 17 cout << s t r i n g h a g e ( ) : << s << e n d l ; 18 } 19 0 i n t main ( v o i d ) 1 { hage ( ) ; // hage ( v o i d ) 3 hage ( 1 ) ; // hage ( i n t ) hage ( ) ; // hage ( s t r i n g ) 5 } separate() 1.3 1.3.1 ( ) global1.cpp 5 e x t e r n v o i d h i g e ( v o i d ) ; 5
6 7 i n t g i = 10000; // 8 9 v o i d hoge ( v o i d ) // 10 { 11 cout << hoge << e n d l ; 1 } 13 1 i n t main ( v o i d ) 15 { 16 hoge ( ) ; 17 h i g e ( ) ; 18 cout << g i << e n d l ; 19 } global.cpp 5 e x t e r n i n t g i ; // g i 6 e x t e r n v o i d hoge ( v o i d ) ; // hoge ( ) 7 8 v o i d h i g e ( v o i d ) 9 { 10 hoge ( ) ; 11 cout << g i << e n d l ; 1 g i = 13; 13 } / 6
/ global i.cpp 1 / 3 / 5 #i n c l u d e <iostream > 6 7 u s i n g namespace s t d ; 8 9 i n t i ; // i 10 11 // 1 e x t e r n v o i d hoge ( v o i d ) ; // e x t e r n v o i d hoge ( v o i d ) 13 1 i n t main ( v o i d ) 15 { 16 / 17 0 99 18 hoge ( ) 19 / 0 f o r ( i =0; i <100; i++) { 1 cout << i << e n d l ; hoge ( ) ; 3 } } 5 6 v o i d hoge ( v o i d ) 7 { 8 / 9 30 i m a i n ( ) 31 i 1 0 0 7
3 / 33 f o r ( i =0; i <10; i++) { 3 cout << hagehage << e n d l ; 35 } 36 } // hoge ( ) 1.3. extern / static / static1.cpp 5 6 s t a t i c i n t g i ; // 7 8 // 9 s t a t i c v o i d h i g e ( v o i d ) ; // 10 11 s t a t i c i n t hoge ( v o i d ) // 1 { 13 h i g e ( ) ; 1 r e t u r n g i ; 15 } 16 17 s t a t i c v o i d h i g e ( v o i d ) // 18 { 19 g i ++; 0 } 1 8
i n t main ( v o i d ) 3 { f o r ( i n t i =0; i <100; i++) { 5 cout << hoge ( ) << e n d l ; 6 } 7 } static1.cpp static.cpp 1 / 3 / 5 e x t e r n i n t g i ; // 6 e x t e r n i n t hoge ( v o i d ) ; // 7 8 v o i d f o o b a r ( v o i d ) { 9 g i ++; // 10 hoge ( ) ; // 11 } static 1.3.3 fscope.cpp 1 v o i d f s c o p e ( v o i d ) { 9
3 i n t i ; // t y p e d e f i n t u i n t 3 ; // 5 } 1.3. if while for switch block.cpp 5 i n t main ( v o i d ) 6 { 7 s t r i n g s = hage ; 8 i n t i= 000; 9 10 { 11 s t r i n g s = ; 1 cout << s << e n d l ; 13 } // s 1 15 f o r ( i n t i =0; i <100; i++) 16 cout << i << e n d l ; // i 17 18 f o r ( i n t i =0; i <100; i++) { // i 19 t y p e d e f i n t i n t 3 ; // 0 i n t 3 x =0; // 1 cout << i + x << e n d l ; } 3 cout << s << e n d l ; // hage cout << i << e n d l ; // 000 10
5 } 1. / header1.cpp 1 #i n c l u d e header. h 3 i n t main ( v o i d ) 5 { 6 hoge ( ) ; 7 } header.cpp #i n c l u d e header. h 3 u s i n g namespace s t d ; 5 6 v o i d hoge ( v o i d ) 7 { 8 cout << << e n d l ; 9 } 11