Inheritance - Ch. 15
- Review on aggregation "has a" relationship
- Introduction to inheritance "is a" relationship
- Base Class "parent"
- Derived Class "child"
- Class Hierarchies
- Access Specifier - private protected public
- Invoking Parent Constructors - passing arguments
- Calling Parent Functions
- Redefining Parent Functions
class Base {
private:
// base private member variables
protected:
// base protected member variables
public:
Base() { // base default constructor }
~Base(){ // base destructor }
};
// derived class inherits all members and functions
// but not constructors or destructor
// Syntax
//class child : access_specifier parent {...};
class Derived : public Base {
private:
//derived private member variables
protected:
// derived protected member variables
public:
Derived() : Base() {
// derived default constructor, invokes parent
}
~Derived() {
// derived destructor, base destructor invoked automatically
}
};