Περιεχόμενα C++
Βασικοί τύποι δεδομένων
Σταθερές - Κυριολεκτικά
Τελεστές
Βασική είσοδος και έξοδος
Πίνακες
Δείκτες
Δείκτες αμετάβλητου περιεχομένου και αμετάβλητης διεύθυνσης
Αναφορές (References)
Αλφαριθμητικά
Η κλάση std::string
Δυναμική διαχείριση μνήμης
Συναρτήσεις
Namespaces
Κλάσεις και Αντικείμενα
Κατασκευαστές της κλάσης
Default κατασκευαστής
Υπερφόρτωση κατασκευαστών
Χρήση member initialization list
Κλήση ενός κατασκευαστή από άλλο κατασκευαστή
Αρχικοποίηση αντικειμένων που περιέχουν πεδία που περιγράφονται από κλάσεις
Δημιουργία Αντικειμένων
Καταστροφείς της κλάσης
Κύκλος ζωής των αντικειμένων
1η περίπτωση - Δημιουργία αντικειμένων στο Stack
2η περίπτωση - Δημιουργία αντικειμένων στο Heap
3η περίπτωση - δυναμικά δεσμευμένοι μονοδιάστατοι πίνακες από αντικείμενα
4η περίπτωση - δυναμικά δεσμευμένοι διδιάστατοι πίνακες από αντικείμενα
Κατασκευαστές αντιγραφείς (copy constructors)
Ορισμός ενός κατασκευαστή αντιγραφέα
Πιο σύνθετες περιπτώσεις
Φιλικές συναρτήσεις και φιλικές κλάσεις
Ο δείκτης this
Const μέθοδοι της κλάσης
Στατικά μέλη της κλάσης
Προσδιοριστές πρόσβασης
Κληρονομικότητα
Άλλες μορφές κληρονομικότητας
Δυναμικός πολυμορφισμός
Pure virtual συναρτήσεις και abstract κλάσεις
Interfaces στη C++
Κληρονομικότητα πολλών γονικών κλάσεων
Υπερφόρτωση τελεστών
Παράδειγμα υπερφόρτωσης
Υπερφόρτωση μοναδιαίων τελεστών
Υπερφόρτωση δυαδικών τελεστών που μπορούν να υλοποιηθούν ως μέλη της κλάσης ή ως φιλικές συναρτήσεις
Υπερφόρτωση δυαδικών τελεστών μπορούν να υλοποιηθούν μόνο ως μέλη της κλάσης
Δημιουργία και Διαχείριση εξαιρέσεων
Κληρονομικότητα Εξαιρέσεων
Stack Unwinding
Διαχείριση εξαίρεσης και παραγωγή νέας εξαίρεσης κατά τη διαχείριση της
Εξαιρέσεις στον κατασκευαστή της κλάσης
I/O Streams
Input Streams
Output Streams
String streams
Eίσοδος και έξοδος αρχείων
Αλλαγή της θέσης ανάγνωσης ή εγγραφής στο stream
Έλεγχος της εσωτερικής κατάστασης του stream
Templates
Templates συναρτήσεων
Templates κλάσεων
Εξειδίκευση υφιστάμενου template
STL
STL Containers
STL Iterators
Διάτρεξη οποιαδήποτε δομής με χρήση iterator
Κοινές συναρτήσεις για όλους τους iterators
Κοινές συναρτήσεις για περισσότερους του ενός Containers
Εισαγωγή στοιχείου
Διαγραφή στοιχείου
Αναζήτηση στοιχείου
Εισαγωγή περιεχομένων από άλλο container
Εισαγωγή στοιχείων μέσω των συναρτήσεων insert και emplace
Χρήση του τελεστή [ ] για την πρόσβαση στα στοιχεία ενός container
Sequence Containers
std::array
std::vector
std::deque
std::list
Associative Containers
std::set και std::multiset
std::map και std::multimap
Unordered Associative Containers
std::unordered_set και std::unordered_multiset
std::unordered_map και std::unordered_multimap
Function Objects ή Functors