C++ Tutorial






1.Language Basics
1.1.Introduction( 4 ) 1.9.namespace( 14 ) 
1.2.main function( 2 ) 1.10.global namespace( 2 ) 
1.3.Variables( 6 ) 1.11.comments( 1 ) 
1.4.Variable size( 1 ) 1.12.static( 4 ) 
1.5.global variable( 4 ) 1.13.using( 2 ) 
1.6.block scope variable( 9 ) 1.14.mutable( 2 ) 
1.7.Expression( 1 ) 1.15.extern( 1 ) 
1.8.const( 6 ) 
2.Data Types
2.1.int( 12 ) 2.23.string create( 3 ) 
2.2.int read( 4 ) 2.24.string function( 8 ) 
2.3.int pointer( 3 ) 2.25.string read( 2 ) 
2.4.int array( 3 ) 2.26.complex number( 11 ) 
2.5.int display( 7 ) 2.27.enum( 8 ) 
2.6.bool( 10 ) 2.28.register variables( 1 ) 
2.7.double( 15 ) 2.29.convert from string( 6 ) 
2.8.double output( 5 ) 2.30.cast( 7 ) 
2.9.float( 11 ) 2.31.const_cast( 5 ) 
2.10.float read( 2 ) 2.32.reference( 13 ) 
2.11.float output( 5 ) 2.33.time( 15 ) 
2.12.long( 4 ) 2.34.linked list( 1 ) 
2.13.binary bit( 5 ) 2.35.union( 7 ) 
2.14.shift( 6 ) 2.36.wide character( 2 ) 
2.15.hexadecimal( 3 ) 2.37.Your array( 4 ) 
2.16.unsigned int( 6 ) 2.38.Your list( 5 ) 
2.17.unsigned long( 1 ) 2.39.Your Queue( 2 ) 
2.18.unsigned short( 7 ) 2.40.Your Set( 1 ) 
2.19.char( 4 ) 2.41.Your stack( 5 ) 
2.20.char array( 16 ) 2.42.Your string( 4 ) 
2.21.char pointer( 5 ) 2.43.Your complex( 1 ) 
2.22.char functions( 13 ) 
3.Operators statements
3.1.Operators( 5 ) 3.11.complement( 2 ) 
3.2.relational and logical operators( 6 ) 3.12.XOR( 2 ) 
3.3.prefix postfix increment decrement operators( 2 ) 3.13.if statement( 9 ) 
3.4.Comma operator( 4 ) 3.14.switch( 7 ) 
3.5.modulus operator( 4 ) 3.15.for loop( 15 ) 
3.6.sizeof( 6 ) 3.16.while( 10 ) 
3.7.tenary operator( 4 ) 3.17.do while( 4 ) 
3.8.bitwise operator( 2 ) 3.18.break( 4 ) 
3.9.bitwise AND( 3 ) 3.19.continue( 3 ) 
3.10.bitwise OR( 2 ) 3.20.goto( 2 ) 
4.Array
4.1.array( 8 ) 4.4.multi dimension array( 9 ) 
4.2.array read( 2 ) 4.5.Two dimensional object array( 1 ) 
4.3.array pointer( 10 ) 
5.Development
5.1.cin( 23 ) 5.17.ifdef( 2 ) 
5.2.cout( 42 ) 5.18.Macro Expansion( 3 ) 
5.3.cout base( 3 ) 5.19.Math( 7 ) 
5.4.cout dec oct hex( 5 ) 5.20.static_cast( 3 ) 
5.5.cout fill( 2 ) 5.21.reinterpret_cast( 2 ) 
5.6.cout float( 5 ) 5.22.Sort( 6 ) 
5.7.cout justification( 4 ) 5.23.typedef( 2 ) 
5.8.cerr( 1 ) 5.24.typeid( 11 ) 
5.9.input manipulator( 1 ) 5.25.variable length argument lists( 1 ) 
5.10.output manipulator( 9 ) 5.26.set_new_handler( 1 ) 
5.11.command line arguments( 3 ) 5.27.set_terminate( 1 ) 
5.12.new( 10 ) 5.28.locale( 9 ) 
5.13.delete( 6 ) 5.29.assert( 3 ) 
5.14.Escape sequence( 4 ) 5.30.exit( 1 ) 
5.15.Functor( 6 ) 5.31.random( 1 ) 
5.16.define( 6 ) 5.32.signal( 1 ) 
6.Exceptions
6.1.try catch( 10 ) 6.5.Custom Exception( 4 ) 
6.2.throw( 3 ) 6.6.function and Exception( 4 ) 
6.3.Exception( 3 ) 6.7.bad_alloc Exception( 1 ) 
6.4.Exception type( 5 ) 6.8.standard exceptions( 1 ) 
7.Function
7.1.function definition( 8 ) 7.10.function pointers( 10 ) 
7.2.function prototype( 3 ) 7.11.function recursion( 5 ) 
7.3.function parameters( 18 ) 7.12.function overload( 10 ) 
7.4.reference parameter( 6 ) 7.13.function overload with cast( 2 ) 
7.5.object parameters( 6 ) 7.14.overloading ambiguity( 4 ) 
7.6.default arguments( 6 ) 7.15.function scope variables( 2 ) 
7.7.const parameters( 2 ) 7.16.const methods( 1 ) 
7.8.function return( 10 ) 7.17.inline function( 4 ) 
7.9.return object( 2 ) 
8.Structure
8.1.structure( 8 ) 8.4.structure pointer( 4 ) 
8.2.structure array( 2 ) 8.5.return structure( 1 ) 
8.3.structure parameter( 4 ) 8.6.structure file( 1 ) 
9.Class
9.1.class definition( 12 ) 9.18.derived class( 9 ) 
9.2.constructor( 17 ) 9.19.multiple base classes( 8 ) 
9.3.destructor( 4 ) 9.20.class prototype( 1 ) 
9.4.member method( 9 ) 9.21.class cast( 4 ) 
9.5.member variable( 7 ) 9.22.friend function( 7 ) 
9.6.accessor functions( 2 ) 9.23.friend operator( 1 ) 
9.7.class hierarchy( 12 ) 9.24.inline( 6 ) 
9.8.initialization syntax( 3 ) 9.25.static instance variable( 3 ) 
9.9.private( 4 ) 9.26.static member functions( 3 ) 
9.10.protected( 3 ) 9.27.this( 4 ) 
9.11.public( 2 ) 9.28.virtual function( 10 ) 
9.12.private inheritance( 3 ) 9.29.polymorphism( 1 ) 
9.13.protected inheritance( 1 ) 9.30.virtual inheritance( 1 ) 
9.14.public inheritance( 4 ) 9.31.abstract class( 1 ) 
9.15.class combination( 3 ) 9.32.instance object( 10 ) 
9.16.inner class( 1 ) 9.33.object array( 10 ) 
9.17.base class( 6 ) 9.34.object pointer( 10 ) 
10.Operator Overloading
10.1.overload plus subtract( 4 ) 10.12.overload comma operator( 2 ) 
10.2.overload object and primitive data type( 3 ) 10.13.overload new operator( 3 ) 
10.3.overload assignment operator( 5 ) 10.14.overload delete operator( 1 ) 
10.4.overload logic operator( 1 ) 10.15.overload ostream istream operator( 10 ) 
10.5.overload conversion operator( 1 ) 10.16.overload operator with friend( 2 ) 
10.6.overload pointer operator( 2 ) 10.17.overload with friend function( 1 ) 
10.7.overload address of operator( 1 ) 10.18.overloading Dereference operator( 1 ) 
10.8.overload unary operator( 8 ) 10.19.custom extractor( 1 ) 
10.9.overload bracket operator( 6 ) 10.20.custom inserter( 2 ) 
10.10.overload square bracket( 2 ) 10.21.enum operator( 1 ) 
10.11.overload cast operator( 1 ) 
11.Pointer
11.1.pointer( 8 ) 11.5.auto_ptr( 4 ) 
11.2.pointer to pointer( 1 ) 11.6.dynamic_cast( 6 ) 
11.3.NULL( 1 ) 11.7.object pointer( 5 ) 
11.4.address of( 3 ) 11.8.pointer reference( 3 ) 
12.File Stream
12.1.Text file read( 10 ) 12.12.ostream_iterator( 4 ) 
12.2.Text file write( 11 ) 12.13.istream( 2 ) 
12.3.binary file( 10 ) 12.14.istream_iterator( 4 ) 
12.4.class save load( 7 ) 12.15.istream exceptions( 1 ) 
12.5.file open mode( 6 ) 12.16.istreambuf_iterator( 1 ) 
12.6.file pointer( 12 ) 12.17.istrstream( 5 ) 
12.7.file utilities( 8 ) 12.18.ostrstream( 7 ) 
12.8.fstream( 4 ) 12.19.streambuf( 2 ) 
12.9.ifstream( 9 ) 12.20.stringstream( 4 ) 
12.10.ofstream( 10 ) 12.21.strstream( 2 ) 
12.11.ostream( 7 ) 12.22.file IO Exception( 5 ) 
13.template
13.1.template class( 7 ) 13.10.overload template function( 3 ) 
13.2.template function( 14 ) 13.11.generic array( 2 ) 
13.3.template inheritance( 1 ) 13.12.generic class( 5 ) 
13.4.template parameter( 10 ) 13.13.generic list( 1 ) 
13.5.template pointer parameter( 3 ) 13.14.generic queue( 1 ) 
13.6.Template specialization( 3 ) 13.15.generic sort( 2 ) 
13.7.virtual template( 1 ) 13.16.generic stack( 8 ) 
13.8.class specialization( 1 ) 13.17.Generic tree( 1 ) 
13.9.define iterator operator( 1 ) 13.18.generic typeid( 1 ) 
14.STL Introduction
14.1.array algorithms( 8 ) 14.6.Memory( 1 ) 
14.2.array sort( 2 ) 14.7.out_of_range exception( 3 ) 
14.3.binary_function( 1 ) 14.8.parameter constraint( 1 ) 
14.4.container as parameter( 4 ) 14.9.predicate( 8 ) 
14.5.Function object( 1 ) 14.10.template Array( 2 ) 
15.string
15.1.string( 8 ) 15.14.string iterator( 3 ) 
15.2.string append( 4 ) 15.15.string read( 5 ) 
15.3.string assign( 1 ) 15.16.string replace( 7 ) 
15.4.string at( 2 ) 15.17.string resize( 1 ) 
15.5.string subscript indexer( 5 ) 15.18.string reverse( 2 ) 
15.6.string char array( 7 ) 15.19.string find( 25 ) 
15.7.string compare( 12 ) 15.20.string search( 4 ) 
15.8.string concatenation( 4 ) 15.21.string size( 9 ) 
15.9.string copy( 1 ) 15.22.string sort( 1 ) 
15.10.string data( 1 ) 15.23.string substr( 5 ) 
15.11.string empty( 2 ) 15.24.string swap( 2 ) 
15.12.string erase( 4 ) 15.25.string token( 2 ) 
15.13.string insert( 4 ) 15.26.string array( 1 ) 
16.vector
16.1.vector( 22 ) 16.17.vector indexer( 4 ) 
16.2.vector subscript indexer( 5 ) 16.18.vector insert( 9 ) 
16.3.vector at( 1 ) 16.19.vector iterator( 13 ) 
16.4.vector back( 3 ) 16.20.vector push pop heap( 4 ) 
16.5.vector begin end( 5 ) 16.21.vector reserve( 3 ) 
16.6.vector bound( 2 ) 16.22.vector reverse( 3 ) 
16.7.vector capacity( 5 ) 16.23.vector reverse_iterator( 5 ) 
16.8.vector clear( 1 ) 16.24.vector size( 6 ) 
16.9.vector compare( 3 ) 16.25.vector access( 5 ) 
16.10.vector count( 1 ) 16.26.vector elements( 19 ) 
16.11.vector definition( 5 ) 16.27.vector flip( 1 ) 
16.12.vector display( 2 ) 16.28.vector resize( 1 ) 
16.13.vector erase( 8 ) 16.29.vector sort( 3 ) 
16.14.vector find( 6 ) 16.30.vector swap( 1 ) 
16.15.vector end( 1 ) 16.31.object vector( 7 ) 
16.16.vector front( 2 ) 16.32.Algorithm( 13 ) 
17.list
17.1.list( 10 ) 17.11.list push pop( 7 ) 
17.2.list display( 3 ) 17.12.list remove( 3 ) 
17.3.list assign( 4 ) 17.13.list reverse( 3 ) 
17.4.list begin end( 4 ) 17.14.list sort( 6 ) 
17.5.list const_iterator( 1 ) 17.15.list splice( 4 ) 
17.6.list erase( 4 ) 17.16.list swap( 1 ) 
17.7.list find( 3 ) 17.17.list unique( 3 ) 
17.8.list insert( 11 ) 17.18.list size( 1 ) 
17.9.list iterator( 7 ) 17.19.list vector( 5 ) 
17.10.list merge( 3 ) 
18.bitset
18.1.bitset( 11 ) 18.3.bitset and or( 5 ) 
18.2.bitset transform( 1 ) 18.4.bitset flip( 2 ) 
19.set multiset
19.1.set( 5 ) 19.11.multiset bound( 2 ) 
19.2.set begin end( 1 ) 19.12.multiset count( 3 ) 
19.3.set bound range( 1 ) 19.13.multiset equal_range( 1 ) 
19.4.set compare( 2 ) 19.14.multiset erase( 6 ) 
19.5.set insert( 2 ) 19.15.multiset find( 4 ) 
19.6.set erase( 2 ) 19.16.multiset insert( 4 ) 
19.7.set find( 1 ) 19.17.multiset iterator( 1 ) 
19.8.set loop( 2 ) 19.18.multiset merge( 1 ) 
19.9.set swap( 3 ) 19.19.union intersection( 3 ) 
19.10.multiset( 6 ) 
20.valarray
20.1.valarray( 10 ) 20.4.valarray min max sum( 3 ) 
20.2.valarray subscript indexer( 3 ) 20.5.valarray resize( 1 ) 
20.3.valarray cshift( 2 ) 20.6.valarray slice( 3 ) 
21.queue stack
21.1.stack( 13 ) 21.3.priority_queue( 11 ) 
21.2.queue( 9 ) 21.4.your queue( 1 ) 
22.deque
22.1.deque( 13 ) 22.7.deque pop( 3 ) 
22.2.deque display( 1 ) 22.8.deque push( 4 ) 
22.3.deque size( 2 ) 22.9.deque resize( 1 ) 
22.4.deque erase( 1 ) 22.10.deque reverse( 1 ) 
22.5.deque find( 2 ) 22.11.deque subscript indexer( 6 ) 
22.6.deque iterator( 7 ) 22.12.transform( 2 ) 
23.map multimap
23.1.map( 9 ) 23.10.map swap( 1 ) 
23.2.map display( 1 ) 23.11.multimap( 4 ) 
23.3.map compare( 5 ) 23.12.multimap count( 1 ) 
23.4.map erase( 4 ) 23.13.multimap insert( 4 ) 
23.5.map find( 4 ) 23.14.multimap interator( 2 ) 
23.6.map insert( 9 ) 23.15.multimap erase( 3 ) 
23.7.map iterator( 10 ) 23.16.multimap find( 1 ) 
23.8.map subscript indexer( 1 ) 23.17.pair( 11 ) 
23.9.map update( 1 ) 
24.STL Algorithms Modifying sequence operations
24.1.fill( 5 ) 24.14.replace_copy( 4 ) 
24.2.fill_n( 5 ) 24.15.replace_copy_if( 4 ) 
24.3.generate( 6 ) 24.16.reverse( 5 ) 
24.4.generate_n( 6 ) 24.17.reverse_copy( 3 ) 
24.5.iter_swap( 2 ) 24.18.rotate( 7 ) 
24.6.partition( 2 ) 24.19.rotate_copy( 3 ) 
24.7.random_shuffle( 7 ) 24.20.stable_partition( 2 ) 
24.8.remove( 7 ) 24.21.swap( 4 ) 
24.9.remove_copy( 5 ) 24.22.swap_ranges( 4 ) 
24.10.remove_copy_if( 3 ) 24.23.transform( 14 ) 
24.11.remove_if( 7 ) 24.24.unique copy( 7 ) 
24.12.replace if( 4 ) 24.25.unique( 3 ) 
24.13.replace( 7 ) 
25.STL Algorithms Non modifying sequence operations
25.1.adjacent_find( 4 ) 25.8.find( 15 ) 
25.2.copy( 15 ) 25.9.find_end( 2 ) 
25.3.copy_backward( 4 ) 25.10.find_first_of( 2 ) 
25.4.count( 5 ) 25.11.for_each( 9 ) 
25.5.count_if( 2 ) 25.12.mismatch( 5 ) 
25.6.equal( 3 ) 25.13.search( 2 ) 
25.7.find if( 7 ) 25.14.search_n( 3 ) 
26.STL Algorithms Binary search
26.1.binary_search( 5 ) 26.3.lower_bound( 3 ) 
26.2.equal_range( 6 ) 26.4.upper_bound( 4 ) 
27.STL Algorithms Sorting
27.1.sort( 9 ) 27.5.partial_sort( 4 ) 
27.2.custom comparer( 2 ) 27.6.partial_sort_copy( 2 ) 
27.3.lexicographical_compare( 2 ) 27.7.nth_element( 4 ) 
27.4.stable_sort( 1 ) 
28.STL Algorithms Merge
28.1.includes( 3 ) 28.5.set_intersection( 3 ) 
28.2.inplace_merge( 4 ) 28.6.set_symmetric_difference( 3 ) 
28.3.merge( 6 ) 28.7.set_union( 3 ) 
28.4.set_difference( 3 ) 
29.STL Algorithms Min Max
29.1.max( 3 ) 29.3.min( 3 ) 
29.2.max_element( 4 ) 29.4.min_element( 4 ) 
30.STL Algorithms Iterator
30.1.iterator( 4 ) 30.6.reverse_iterator( 2 ) 
30.2.const_interator( 3 ) 30.7.template iterators( 2 ) 
30.3.const_reverse_iterator( 1 ) 30.8.custom iterater( 4 ) 
30.4.insert_iterator( 4 ) 30.9.back_insert_iterator( 1 ) 
30.5.istream iterator( 7 ) 30.10.ostream_interator( 2 ) 
31.STL Algorithms Heap
31.1.make_heap( 3 ) 31.3.push_heap( 2 ) 
31.2.pop_heap( 2 ) 31.4.sort heap( 2 ) 
32.STL Algorithms Helper
32.1.divides( 1 ) 32.10.inner_product( 3 ) 
32.2.negate( 1 ) 32.11.make_pair( 1 ) 
32.3.accumulate( 5 ) 32.12.multiply( 2 ) 
32.4.adjacent_difference( 4 ) 32.13.next_permutation( 5 ) 
32.5.back_inserter( 2 ) 32.14.prev_permutation( 3 ) 
32.6.bind2nd( 6 ) 32.15.numeric_limits( 4 ) 
32.7.distance( 2 ) 32.16.partial_sum( 3 ) 
32.8.gslice( 1 ) 32.17.not1( 3 ) 
32.9.slice( 1 )