תכנות מונחה עצמים בשפת C++

0368-3015

 

מרצה:       אוהד ברזילי 

                בניין וולפסון להנדסת תוכנה, חדר 209

 

הרצאות

 

מודולריות ושימוש חוזר

[שקף בעמוד]

[שני שקפים בעמוד]

Modularization and Reuse

מרחבי שמות

[שקף בעמוד]

[שני שקפים בעמוד]

Namespaces

טיפוסי נתונים מופשטים

[שקף בעמוד]

[שני שקפים בעמוד]

Abstract Data Types

מחלקות

[שקף בעמוד]

[שני שקפים בעמוד]

Classes

עצמים

[שקף בעמוד]

[שני שקפים בעמוד]

Objects

תיכון לפי חוזה

[שקף בעמוד]

[שני שקפים בעמוד]

Design by Contract

חריגים

[שקף בעמוד]

[שני שקפים בעמוד]

Exception Handling

STL

[שקף בעמוד]

[שני שקפים בעמוד]

Standard Template Library

הורשה ופולימורפיזם

[שקף בעמוד]

[שני שקפים בעמוד]

Inheritance and Polymorphism

הורשה מרובה

[שקף בעמוד]

[שני שקפים בעמוד]

Multiple Inheritance

עוד על הורשה

[שקף בעמוד]

[שני שקפים בעמוד]

More about Inheritance

ממשק גרפי ב- MFC

[שקף בעמוד]

[שני שקפים בעמוד]

MFC Programming

תבניות תיכון – חלק א'

[שקף בעמוד]

[שני שקפים בעמוד]

Design Patterns

תבניות תיכון – חלק ב'

[שקף בעמוד]

[שני שקפים בעמוד]

[source code]

Design Patterns Cont

תכנות קיצוני

[שקף בעמוד]

[שני שקפים בעמוד]

eXterme Programming

תוצאי לוואי

[שקף בעמוד]

[שני שקפים בעמוד]

Concrete Side Effects

 

 

 

תרגולים

 

מ- C ל- C++

[שקף בעמוד]

[שני שקפים בעמוד]

From C to C++

טיפוסי נתונים מופשטים ומחלקות

[שקף בעמוד]

[שני שקפים בעמוד]

Abstract Data Types and Classes

משתני מחלקה ובנאים

[שקף בעמוד]

[שני שקפים בעמוד]

Static Members and Constructors

העמסת אופרטורים

[שקף בעמוד]

[שני שקפים בעמוד]

Operator Overloading

הורשה ופולימורפיזם

[שקף בעמוד]

[שני שקפים בעמוד]

Inheritance and Polymorphism

נושאים מתקדמים בהורשה

[שקף בעמוד]

[שני שקפים בעמוד]

Advanced Inheritance

Serialization

[שקף בעמוד]

[שני שקפים בעמוד]

[example]

Serialization in C++

טיפוסים והורשה

[שקף בעמוד]

[שני שקפים בעמוד]

Types and Inheritance

בדיקות תוכנה

[שקף בעמוד]

[שני שקפים בעמוד]

Testing

דוגמא מודרכת

[שקף בעמוד]

[שני שקפים בעמוד]

Case Study - STATE

 

 

שיעורי בית

 

מבנה הנתונים המופשט Set

[pdf]

Sets ADT

המחלקה Set

[pdf]

Sets Class

חוזה ואופרטורים של Set

[pdf]

Sets Operators and Contract

הורשה

[pdf]

Inheritance

עבודה עם קבצים

[pdf]

Serialization

תרגיל מסכם - מונופול

[ppt]

Monopoly

 

 

 

בחינות

 

 

 

Useful links:

 

*      A critique on C++ by Ian Joyner

*    C++ FAQ

*    Bjarne Stroustrup's Home page

*      Working with Visual C++

*      Nice Template Tutorial

*    Sgi STL Tutorial

*      Rogue Wave's STL Guide

*      MFC SCRIBBLE Tutorial

 

 

The Course Textbooks:

 

*    The C++ Programming Language, Third (and special) Edition
Bjarne Stroustrup,  Addison-Wesley 1997

*    Object-Oriented Software Construction, Second Edition (available online in TAU library)
BERTRAND MEYER

 

Other Recommended Reading:

 

*    C++ Primer, Third Edition.
Stanley B. Lippman, et al,  Addison-Wesley 1998

*    The Design and Evolution of C++.
Bjarne Stroustrup, Addison-Wesley 1994

*    Object Oriented Programming and C++ (in Hebrew!)
Amir Kirsh

*    Effective C++, 2nd Edition: 50 Specific Ways to Improve Your Programs and Designs. (available online in TAU library)
Scott Meyers, Addison-Wesley 1997

*    More Effective C++: 35 More Ways to Improve Your Programs and Designs. (available online in TAU library)
Scott Meyers, Addison-Wesley 1995

*    Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library
Scott Meyers, Addison-Wesley

*    Design Patterns: Elements of Reusable Object-Oriented Software
By Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, 1994

*    Exceptional C++ by Herb Sutter.
Herb Sutter, Addison-Wesley 2000

*    The C++ Standard Library : A Tutorial and Reference.
Nicolai M. Josuttis, Addison-Wesley 1999 

*    Advanced C++ Programming Styles & Idioms.
James O. Coplien, Addison-Wesley 1991

*    Thinking in C++
Bruce Eckel.
(this book can be downloaded for free from http://www.BruceEckel.com)

*    Data Structures and Problem Solving Using C++.
Mark Weiss, Addison-Wesley 2000