Inheritance vs Interface Polymorphism (C++)
Doxygen docs for the C++ implementation
Loading...
Searching...
No Matches
AbstractAnimal Class Referenceabstract

Abstract base class combining shared state, a concrete default method, and a pure virtual method subclasses must implement. More...

Inheritance diagram for AbstractAnimal:

Public Member Functions

void sleep ()
 A concrete default method, inherited as-is by all subclasses.
virtual void speak ()=0
 Pure virtual method that subclasses must override.
virtual ~AbstractAnimal ()=default

Protected Attributes

int age = 0
 Structural state isolated inside a class footprint (interfaces cannot hold this).

Detailed Description

Abstract base class combining shared state, a concrete default method, and a pure virtual method subclasses must implement.

Definition at line 61 of file C++ Implimentation.cpp.

Constructor & Destructor Documentation

◆ ~AbstractAnimal()

virtual AbstractAnimal::~AbstractAnimal ( )
virtualdefault

Member Function Documentation

◆ sleep()

void AbstractAnimal::sleep ( )
inline

A concrete default method, inherited as-is by all subclasses.

Definition at line 70 of file C++ Implimentation.cpp.

◆ speak()

virtual void AbstractAnimal::speak ( )
pure virtual

Pure virtual method that subclasses must override.

Implemented in DogWithDefault.

Member Data Documentation

◆ age

int AbstractAnimal::age = 0
protected

Structural state isolated inside a class footprint (interfaces cannot hold this).

Definition at line 64 of file C++ Implimentation.cpp.


The documentation for this class was generated from the following file: