Designing Reusable Code in C++( WT-1012-180 )
| Course Description |  |

This course teaches students the basics of polymorphism and inheritance, focusing on function and operator overloading and on creating class hierarchies. Students will gain skills throughout the course that help them build adaptable, reusable object-oriented C++ code.
This course requires a text editor. Students will need to use both Netscape and Internet Explorer version 4.0 browsers to complete some exercises in this course. This course also requires a computer running Windows, Macintosh, or UNIX.
eMentoring Services are included with this course.
Course length: 15 hours
| Course details |
| id:
WT-1012-180 |
| subscription duration:
180 days
| | list price: $
325.00 |
|
Languages Offered |
 |
This course is currently available in English only.
|
Who Can Benefit |
 |
C++ programmmers
|
Prerequisites |
 |
To succeed fully in this course, students should be able to: Demonstrate completion of Building Classes in C++, or equivalent knowledge and experience
|
Skills Gained |
 |
Upon completion of this course, you should be able to: Create special conversion member functions to convert from a user-defined type to built-in typeOverload member functions and operators to give them additional meaningsCreate class hierarchies using derived classes, virtual functions, and abstract base classes
|
Related Courses |
 |
Before: Introduction to C++Before: Building Classes in C++
|
Course Content |
 |
Course introductionPrerequisitesWhat you needWhat to expectMeet your tutorMeet your instructorC++ compilers
Ad hoc polymorphismPolymorphismConversion and overloadingADT conversionsConversion functionsComparing conversion operators and constructorsOverloading functionsSignature-matching algorithmSelection algorithm for function overloadingOverload function selection algorithm exampleModule wrap-up
Overloading operatorsWhy overload operators?Types of operators that can be overloadedFriend functionsWhy friend functions are neededThe operator keywordUnary and binary operator overloadingOverloading unary operatorsOverloading binary operatorsOverloading the assignment operatorOverloading I/O operatorsOverloading the structure pointer operatorOverloading new and deleteTips for overloading operatorsModule wrap-up
|
Module 4: Inheritance and pure polymorphism |
Back To Top
| Inheritance and pure polymorphismWhat is inheritance?Virtual member functions and pure polymorphismA derived classThe ISA relationshipConstructors for base and derived classesTyping conversions and visibilityExample of typing conversion and visibilityVirtual functionsVirtual function rulesVirtual function selectionAbstract classes and pure virtual functionsThe const_cast and reinterpret_cast operatorsThe dynamic_cast operatorRuntime Type IdentificationThe typeid operator and type_info classExceptionsModule wrap-up
Course projectA simple ecological simulationLifeform abstract base classLifeform inheritance hierarchyLifeform interaction rulesInitializing and displaying the simulationDesign your own simulationModule wrap-up
Course wrap-upWe'd love your feedbackHelp us help you learn! |