Sie sind hier: Referenzen
DeutschEnglishFrancais
9.9.2010 : 5:29 : +0000

Veranstalter

Downloads

PR20090005-02-Effective-Classes.pdf

(731 K)

Designing in Implementing Effective C++ Classes

This seminar, based on Scott's award-winning Effective C++, covers the most important material that every professional C++ develper needs to know to be truly effective with the language.

Course Highlights

Participants will gain:

  • Mastery of the crucial member functions applicable to every class
  • Understanding of the resource acquisition is initalization (RAII) technique for managing resources
  • Insights into the differences among member functions, non-member functions, virual functions, and non-virtual functions
  • Knowledge of the rules of thumb applied by expert programmers as they design and implement software systems in C++
  • Who should attend

    Systems designers, programmers and technical managers involved in the design, implementation and maintenance of software systems written in C++. Participants should already know the basic features of C++ (e.g. classes, inheritance, virtual functions, templates), but expertise is not required. People who have learned C++ recently, as well as people who have been programming C++ for some time, will come away from this seminar with useful, practical, proven information.

    Format

    Lecture and question/answer. There are no hands-on exercises, but participants are welcome to use their computers to experiment with the course material as it is presented.

    Detailed Topic Outline

    1. Fundamental Concepts and Functions

    • Use objects to manage resources
    • TR1 and Boost
    • Think carefully about copying behavior in resource-managing classes
    • Know what functions C++ silently writes and calls
    • Explicitly disallow use of implicity generated member functions you don't want
    • Handle copying in classes with pointers
    • Make destructors virtual in base classes
    • Strive for exception-safe code

    2. Overlaoding Operators

    • Handle assignment to self in operator
    • Assign to all data members in operator

    3. Inheritance and Object-Oriented Design

    • Make sure public inheritance models "isa"
    • Differentiate between inheritance of interface and inheritance of implementation
    • Model "has-a" or "is-implemented-in-terms-of" through containment

    4. Further Reading

    Scott Meyers

    Scott Meyers

    Scott Meyers is an author and consultant with over thirty years of software development experience. His three best-selling "Effective C++" books defined a new genre in technical publishing, and his "Effective C++ CD" broke more new ground.

    His consulting and research work has spanned a wide range of industries and topics, including regulatory genetics, CAD/CAE applications and video games. His current work focuses on identifying fundamental principles for improving software quality.

    Scott is Consulting Editor for Addison-Wesley's Effective Software Development Series and sits on Software Development Magazine's technical advisory board. One of the world's foremost authorities on C++ software development, he offers consulting and training services to clients worldwide. He received his PhD in Computer Science form Brown University in 1993.

    www.aristeia.com