中国高校课件下载中心 》 教学资源 》 大学文库

《C++面向对象程序设计》课程教学资源(PPT课件)Chapter 14 Polymorphism and Virtual Functions

文档信息
资源类别:文库
文档格式:PPT
文档页数:38
文件大小:592.5KB
团购合买:点击进入团购
内容简介
《C++面向对象程序设计》课程教学资源(PPT课件)Chapter 14 Polymorphism and Virtual Functions
刷新页面文档预览

Chapter 14 ABSOLUTE C++ Inheritance WALTER SAVITCH SECOND EDITION PEARSON Copyright2006 Pearson Addison-Wesley All rights reserved

Chapter 14 Inheritance

Learning Objectives ◆Inheritance Basics Derived classes,with constructors protected:qualifier Redefining member functions Non-inherited functions Programming with Inheritance Assignment operators and copy constructors Destructors in derived classes Multiple inheritance Copyright 2006 Pearson Addison-Wesley.All rights reserved. 14-2

Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 14-2 Learning Objectives ¨ Inheritance Basics ¨ Derived classes, with constructors ¨ protected: qualifier ¨ Redefining member functions ¨ Non-inherited functions ¨ Programming with Inheritance ¨ Assignment operators and copy constructors ¨ Destructors in derived classes ¨ Multiple inheritance

Introduction to Inheritance Object-oriented programming Powerful programming technique Provides abstraction dimension called inheritance General form of class is defined Specialized versions then inherit properties of general class And add to it/modify it's functionality for it's appropriate use Copyright6 Pearson Addison-Wesley.All rights reserved. 14-3

Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 14-3 Introduction to Inheritance ¨ Object-oriented programming ¨ Powerful programming technique ¨ Provides abstraction dimension called inheritance ¨ General form of class is defined ¨ Specialized versions then inherit properties of general class ¨ And add to it/modify it’s functionality for it’s appropriate use

Inheritance Basics New class inherited from another class ◆Base class "General"class from which others derive ◆Derived class ◆New class Automatically has base class's: ◆Member variables ◆Member functions Can then add additional member functions and variables Copyright 2006 Pearson Addison-Wesley.All rights reserved. 14-4

Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 14-4 Inheritance Basics ¨ New class inherited from another class ¨ Base class ¨ "General" class from which others derive ¨ Derived class ¨ New class ¨ Automatically has base class’s: ¨ Member variables ¨ Member functions ¨ Can then add additional member functions and variables

Derived Classes ◆ Consider example: Class of "Employees" ◆Composed of: ◆Salaried employees ◆Hourly employees Each is "subset"of employees Another might be those paid fixed wage each month or week Copyright 2006 Pearson Addison-Wesley.All rights reserved. 14-5

Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 14-5 Derived Classes ¨ Consider example: Class of "Employees" ¨ Composed of: ¨ Salaried employees ¨ Hourly employees ¨ Each is "subset" of employees ¨ Another might be those paid fixed wage each month or week

Derived Classes Don't "need"type of generic "employee" Since no one's just an "employee" General concept of employee helpful! ◆All have names All have social security numbers Associated functions for these "basics"are same among all employees So "general"class can contain all these "things"about employees Copyright 2006 Pearson Addison-Wesley.All rights reserved. 14-6

Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 14-6 Derived Classes ¨ Don’t "need" type of generic "employee" ¨ Since no one’s just an "employee" ¨ General concept of employee helpful! ¨ All have names ¨ All have social security numbers ¨ Associated functions for these "basics" are same among all employees ¨ So "general" class can contain all these "things" about employees

Employee Class Many members of "employee"class apply to all types of employees ◆Accessor functions ◆Mutator functions ◆Most data items: ◆SSN ◆Name ◆Pay We won't have "objects"of this class,however Copyright006 Pearson Addison-Wesley.All rights reserved. 147

Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 14-7 Employee Class ¨ Many members of "employee" class apply to all types of employees ¨ Accessor functions ¨ Mutator functions ¨ Most data items: ¨ SSN ¨ Name ¨ Pay ¨ We won’t have "objects" of this class, however

Employee Class Consider printCheck(function: Will always be "redefined"in derived classes So different employee types can have different checks Makes no sense really for "undifferentiated" employee So function printCheck(in Employee class says just that Error message stating "printCheck called for undifferentiated employee!!Aborting." Copyright 2006 Pearson Addison-Wesley.All rights reserved. 14-8

Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 14-8 Employee Class ¨ Consider printCheck() function: ¨ Will always be "redefined" in derived classes ¨ So different employee types can have different checks ¨ Makes no sense really for "undifferentiated" employee ¨ So function printCheck() in Employee class says just that ¨ Error message stating "printCheck called for undifferentiated employee!! Aborting

Deriving from Employee Class Derived classes from Employee class: Automatically have all member variables Automatically have all member functions Derived class said to "inherit"members from base class Can then redefine existing members and/or add new members Copyright006 Pearson Addison-Wesley.All rights reserved. 14-9

Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 14-9 Deriving from Employee Class ¨ Derived classes from Employee class: ¨Automatically have all member variables ¨Automatically have all member functions ¨ Derived class said to "inherit" members from base class ¨ Can then redefine existing members and/or add new members

Display 14.3 Interface for the Derived Class HourlyEmployee (1 of 2) Display 14.3 Interface for the Derived Class HourlyEmployee 2 //This is the header file hourlyemployee.h. 3 //This is the interface for the class HourlyEmployee. 4 #ifndef HOURLYEMPLOYEE_H 5 #define HOURLYEMPLOYEE_H 6 #include 7 #include "employee.h" 8 using std:string; 9 namespace SavitchEmployees 10{ Copyright 2006 Pearson Addison-Wesley.All rights reserved. 14-10

Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 14-10 Display 14.3 Interface for the Derived Class HourlyEmployee (1 of 2)

刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档