++Programming in C and C
קוד קורס: 10064
3.5 נ"ז

מטרת הקורס היא להציג את השפות C ו- ++ C, את המאפיינים המיוחדים להן ואת ההבדלים בינהן לבין שפת ג'אווה. כמו כן מטרת הקורס היא להעניק לסטודנטים אפשרות לתכנת מערכות גדולות שמערבות קישוריות בין רכיבים רבים, תוך שימוש במערכת ההפעלה unix.

C
מבוא ל C, הבדלים בין ג'אווה ל C. תחביר השפה ותכנות פרוצדורלי פשוט.
תהליך הקומפילציה, מערכים, מחרוזות, מצביעים. משתנים קבועים (const). Assert ו- debugger.
חלוקת תוכנית לקבצים, struct, union, שליחת פרמטרים לתוכנית, קלט ופלט של תוכנית כולל קבצים (stdio).
ניהול זיכרון, הקצאה על המחסנית, הקצאה על הערימה, שחרור זיכרון. Interface.
מצביע למצביע ומערכים דו מימדיים. מצביעים לפונקציות. תכנות גנרי (void*).
יצירת ספריות ועבודה עם ספריות קיימות. טיפול בשגיאות. אופטימיזציות.
++ C
מבוא ל ++ C , ההבדלים בין C ל- ++ C, השוואה ל-ג'אווה, קלט ופלט סטנדרטי, פקודות מקרו. שימוש בקבצי קלט פלט, פעולות על ביטים.
העמסת פונקציות, פרמטרים מחדליים לפונקציות, אופרטורים פשוטים. מחלקות ואובייקטים – הגדרת מחלקות, יצירת אובייקטים, בנאים, בנאי עם פרמטרי ברירת מחדל, רשימות אתחול, הרכבה של אובייקטים, מפרק (destructor) של מחלקה, מחלקות חברות, קבצי header. References ו consts של משתנים ופונקציות.
ירושה – סוגי ירושה, בניית זיכרון בירושה, ירושה מרובה, ירושת יהלום, סדר ריצת בנאים ומפרקים. פונקציות וירטואליות. מחלקות וירטואליות וממשקים.
רב צורתיות – קשירה דינמית, הפעלת פונקציות, casting.
רשימות מקושרות – הגדרת מבנה הרשימה, אובייקט שמתייחס לעצמו, פעולות על רשימה.
Copy-constructor, מחלקות מקוננות. namespace.
תכנות ג'נרי – הגדרת templates לפונקציות, מחלקות ג'נריות. iterator.
STL – שימוש במחלקות מוכנות של השפה.
העמסת אופרטורים – הגדרת אופרטור, העמסת אופרטור בינארי, העמסת אופרטור אונארי, פונקציות חברות, העמסת אופרטורי קלט/פלט.
טיפול בשגיאות ובחריגות – מנגנון try-catch, הגדרת חריגות, חריגות מערכת, שימוש בחריגות וברב צורתיות.

דרישות הקדם והדרישות המקבילות בקורס תכנות בשפת C ו- ++C הינן:

דרישות קדם: פיתוח תוכנה מונחה עצמים (10059).
דרישות מקבילות: מבנה נתונים (10031)

קרא עוד