Lesson 1

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

Γλώσσα Προγραμματισμού ΙΙ

(C και C++)

Β’ ΤΕΠ 2021
1 https://www.w3schools.in/cplusplus-tutorial/

2021 Γ.Φ.
2 Η γλώσσα C++
 Η C++ είναι μια γενικής χρήσης, μεσαίου επιπέδου γλώσσα
προγραμματισμού, με δυνατότητες προγραμματισμού υψηλού και
χαμηλού επιπέδου, ενώ ταυτόχρονα είναι μια από τις πιο γνωστές
εμπορικά* γλώσσες προγραμματισμού.
 Προ απαιτούμενες γνώσεις:
 Είναι σημαντικό να γνωρίζει κάποιος τη γλώσσα C πριν ξεκινήσει να
μαθαίνει την C++ καθώς η βασική γνώση της C θα εξυπηρετήσει στη
γρήγορη εκμάθηση της C++.
 To όνομα C++ σημαίνει αύξηση της C κατά 1 (μεταθεματικός
τελεστής) άρα είναι μια επέκταση της C.
* https://www.tiobe.com/tiobe-index/
* https://www.northeastern.edu/graduate/blog/most-popular-programming-languages/
2021 Γ.Φ.
3
Παράδειγμα σε C++

 Μια γρήγορη ματιά σε ένα παράδειγμα κώδικα σε γλώσσα C++ :

2021 Γ.Φ.
4
Εισαγωγή στη C++
 H C++ είναι μια multi-paradigm γλώσσα προγραμματισμού που υποστηρίζει
αντικειμενοστραφή προγραμματισμό (OOP) και δημιουργήθηκε από τον
Bjarne Stroustrup το 1983 στα AT&T Bell Laboratories.
 Η C++ είναι μια επέκταση (superset) της γλώσσας C και τα προγράμματα που
είναι γραμμένα σε C μπορούν να εκτελεστούν σε μεταγλωττιστές της C++.
 Η C++ χρησιμοποιείται από προγραμματιστές εφαρμογών.
 Χρησιμοποιείται επίσης για δημιουργία γενικού λογισμικού συστημάτων,
οδηγών για περιφερειακές συσκευές (device drivers), λογισμικού για
Εξυπηρετητές (servers) και λογισμικού για συγκεκριμένες εφαρμογές αλλά
χρησιμοποιείται ευρέως για τη δημιουργία video games.

2021 Γ.Φ.
5
Εισαγωγή στη C++
 Η C++ χρησιμοποιείται από πολλούς προγραμματιστές διαφόρων επιπέδων.
 Η C++ χρησιμοποιείται κυρίως για τη συγγραφή οδηγών συσκευών, λογισμικού
συστήματος, και εφαρμογών που εξαρτώνται από άμεση διαχείριση του Υλικού
σε συνθήκες πραγματικού χρόνου.
 Χρησιμοποιείται επίσης για να διδάσκονται τα βασικά χαρακτηριστικά της
αντικειμενοστρέφειας, επειδή είναι απλή γλώσσα, καθώς επίσης και στο πεδίο
της έρευνας.
 Επίσης πολλά τμήματα των user interfaces και των αρχείων συστήματος των
Windows και του Macintosh είναι γραμμένα σε C++.
 Συμπέρασμα : Η C++ είναι δημοφιλής, δυνατή και συχνά χρησιμοποιούμενη
γλώσσα της σύγχρονης προγραμματιστικής εποχής.
2021 Γ.Φ.
6
Εισαγωγή στη C++
 Η C++ χρησιμοποιήθηκε για να γραφούν σημαντικές εφαρμογές που
χρησιμοποιούμε στην καθημερινή μας ζωή.
 Μερικές από αυτές είναι:
o Microsoft Windows
o Microsoft Office
o Photoshop
o Mozilla Firefox
o MySQL
o μTorrent

2021 Γ.Φ.
Object-oriented programming (OOP) και C++
7

H C++ υποστηρίζει τον αντικειμενοστραφή


προγραμματισμό (OOP), με τις τέσσερις βασικές αρχές του:
1. Αφαίρεση Abstraction
2. Ενθυλάκωση Encapsulation
3. Κληρονομικότητα Inheritance
4. Πολυμορφισμός Polymorphism

2021 Γ.Φ.
8
Χαρακτηριστικά της Object Oriented C++
 Η κύρια εστίαση παραμένει στα δεδομένα παρά στις διαδικασίες.
 Τα αντικειμενοστραφή προγράμματα χωρίζονται σε τμήματα που
ονομάζονται αντικείμενα.
 Οι δομές δεδομένων έχουν σχεδιαστεί για την κατηγοριοποίηση των
αντικειμένων.
 Τα μέλη δεδομένων και οι συναρτήσεις συνδέονται ως δομή
δεδομένων.
 Τα δεδομένα μπορούν να κρυφτούν και δεν είναι δυνατή η πρόσβαση
σε εξωτερικές λειτουργίες χρησιμοποιώντας τον προσδιοριστή
πρόσβασης.

2021 Γ.Φ.
9
Χαρακτηριστικά της Object Oriented C++
Τα αντικείμενα μπορούν να επικοινωνούν μεταξύ τους
χρησιμοποιώντας συναρτήσεις.
Νέα δεδομένα και λειτουργίες μπορούν να προστεθούν εύκολα
οπουδήποτε μέσα σε ένα πρόγραμμα όποτε απαιτείται.
Δεδομένου ότι αυτή είναι μια αντικειμενοστρεφής γλώσσα
προγραμματισμού (Object-Oriented Language), ακολουθεί μια
προσέγγιση από κάτω προς τα πάνω, δηλαδή η εκτέλεση του
κώδικα ξεκινά από την main που βρίσκεται στο χαμηλότερο τμήμα
και στη συνέχεια με βάση τη κλήση συνάρτηση μέλους η εργασία
γίνεται από τις κλάσεις.
2021 Γ.Φ.
10
Χαρακτηριστικά της Object Oriented C++

Η αντικειμενοστρεφής προσέγγιση είναι μια πρόσφατη ιδέα


μεταξύ των παραδειγμάτων προγραμματισμού και έχει
διάφορους τομείς προόδου.
Ο αντικειμενοστρεφής προγραμματισμός είναι μια τεχνική
που παρέχει έναν τρόπο διαμόρφωσης των προγραμμάτων
δημιουργώντας περιοχή μνήμης ως διαμέρισμα τόσο για
δεδομένα όσο και για λειτουργίες που μπορούν περαιτέρω να
χρησιμοποιηθούν ως πρότυπο για τη δημιουργία αντιγράφων
των ενοτήτων κατά παραγγελία.
 https://en.wikipedia.org/wiki/Object-oriented_programming
2021 Γ.Φ.
11
Βιβλιοθήκες της C++

 Η βιβλιοθήκη ‘’C++ standard library’’ σχεδιάστηκε και αναπτύχθηκε μετά


από πολλά χρόνια προσπάθειας και έχει τρία βασικά τμήματα:
1. C++ core language provides all the building blocks including data types,
variables, and literals etc.
2. The C++ Standard Library has a rich set of methods for manipulating files
and strings.
3. The STL (Standard Template Library) provides a rich set of template
classes for manipulating data structures.

2021 Γ.Φ.
12
Η ιστορία της C++
 Είναι καλό να μάθουμε για την ιστορία της C++.
 Η ενότητα αυτή περιγράφει ένα σύντομο ιστορικό της C++.
• Η ανάπτυξη της C++ ξεκίνησε το 1979, τέσσερα χρόνια πριν την έκδοσή της, και
δεν είχε αρχικά το όνομα C++;
• Το πρώτο της όνομα ήταν C με κλάσεις (C with classes).
• Προς το τέλος του 1983, η γλώσσα «C with Classes» πρωτο-χρησιμοποιήθηκε
για τις ανάγκες προγραμματισμού εσωτερικά στην εταιρία AT&T.
• Το όνομά της άλλαξε σε C++ στο τέλος της ίδιας χρονιάς ενώ έγιναν αρκετές
προσθήκες.
• Παρόλα αυτά η C++ δεν χρησιμοποιήθηκε εμπορικά μέχρι τα τέλη του 1985.

2021 Γ.Φ.
13
Η ιστορία της C++
• Το 1989 (C++89) βγήκε η δεύτερη έκδοση της C++ με ακόμη περισσότερες
προσθήκες.
• Το 1998 (C++98)βγήκε η πρώτη έκδοση με πρότυπο ISO ( (ISO/IEC 14882:1998)).
• Από το 2011 και μετά βγαίνει μια νέα έκδοση κάθε 3 χρόνια που περιλαμβάνει
επεκτάσεις της γλώσσας.
• C++11 (2011)
• C++14 (2014)
• C++17 (2017)
• C++20 (2020)

2021 Γ.Φ.
14
Η ιστορία της C++

 Η C ++ υλοποιεί την αφαίρεση δεδομένων (data abstraction) με τη χρήση


μιας έννοιας που ονομάζεται κλάση (class), μαζί με άλλα χαρακτηριστικά που
επιτρέπουν τον αντικειμενοστραφή προγραμματισμό.
 Οι κλάσεις βοηθούν τους προγραμματιστές να οργανώσουν τον κώδικά
τους.
 Μπορούν επίσης να είναι επωφελείς για να βοηθήσουν τους
προγραμματιστές να αποφύγουν λάθη.
 Επίσης η C++ έχει πολλές καινούργιες βιβλιοθήκες, σε σχέση με την C, που
κάνουν πιο αποδοτικό τον προγραμματισμό μεγαλύτερων projects.

2021 Γ.Φ.
15
Η εγκατάσταση της C++
 Για να αρχίσει κάποιος να μαθαίνει προγραμματισμό σε C++ πρέπει μόνο να
εγκαταστήσει έναν C++ compiler στο σύστημά του.
 Στις μέρες μας και οι δυο μεταγλωττιστές (C and C++) έρχονται σε ένα
ενσωματωμένο πακέτο (single integrated package) που εξυπηρετεί την
ανάπτυξη και των δυο γλωσσών.
 Μπορείτε να χρησιμοποιήσετε τον μεταγλωττιστή g++ από τη γραμμή
εντολών (ή τον gcc για την C).
 Μπορείτε επίσης να χρησιμοποιήσετε το ακόλουθο link
https://www.onlinegdb.com/ για να γράψετε και να εκτελέσετε τον κώδικά
σας σε πραγματικό χρόνο.
 Τέλος υπάρχει το DevC++ στον σύνδεσμο https://www.bloodshed.net/
2021 Γ.Φ.
16
Τι είναι ο compiler της C++
 Ο μεταγλωττιστής (compiler) είναι ένα πρόγραμμα που μετατρέπει κώδικα
κατανοητό σε ανθρώπους (programming language) σε μια άλλη γλώσσα
υπολογιστή (binary code).
 Με απλά λόγια ο μεταγλωττιστής παίρνει τον κώδικα που γράφεις και τον
μετατρέπει σε δυαδικό κώδικα που μπορεί να κατανοήσει ένας υπολογιστής με
Windows, Unix/Linux, and MAC OS.
 For Windows:
• Code::Blocks
• Dev-C++ IDE
• Microsoft Visual C++
 For Linux:
• g++ is a C++ compiler that comes with most *nix distributions.
2021 Γ.Φ.

You might also like