From cfcc2a3ba33475e027d9b47406c7a555a7cd1b24 Mon Sep 17 00:00:00 2001
From: Marcus Mohr <marcus.mohr@lmu.de>
Date: Tue, 14 Dec 2021 18:33:05 +0100
Subject: [PATCH] Adds draft of notebooks on basic inheritance and virtual
 classes

---
 images/HyTeG_GeometryMap.png           | Bin 0 -> 31752 bytes
 images/OLAS_Solver_Hierarchy.png       | Bin 0 -> 58165 bytes
 notebooks/09_Inheritance.ipynb         | 717 +++++++++++++++++++++++++
 notebooks/10_Polymorphic_Classes.ipynb | 435 +++++++++++++++
 4 files changed, 1152 insertions(+)
 create mode 100644 images/HyTeG_GeometryMap.png
 create mode 100644 images/OLAS_Solver_Hierarchy.png
 create mode 100644 notebooks/09_Inheritance.ipynb
 create mode 100644 notebooks/10_Polymorphic_Classes.ipynb

diff --git a/images/HyTeG_GeometryMap.png b/images/HyTeG_GeometryMap.png
new file mode 100644
index 0000000000000000000000000000000000000000..ad320f5302fab7a9b215372d40da277595ed1a0a
GIT binary patch
literal 31752
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%0AR5u+g2npar#
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

literal 0
HcmV?d00001

diff --git a/images/OLAS_Solver_Hierarchy.png b/images/OLAS_Solver_Hierarchy.png
new file mode 100644
index 0000000000000000000000000000000000000000..f81f397efc8ecda2089d6f10e6a88bc19a51af96
GIT binary patch
literal 58165
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

literal 0
HcmV?d00001

diff --git a/notebooks/09_Inheritance.ipynb b/notebooks/09_Inheritance.ipynb
new file mode 100644
index 0000000..1e185f3
--- /dev/null
+++ b/notebooks/09_Inheritance.ipynb
@@ -0,0 +1,717 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "id": "243fd0f3",
+   "metadata": {},
+   "source": [
+    "# Inheritance"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "e4c244b8",
+   "metadata": {},
+   "source": [
+    "### Intro\n",
+    "\n",
+    "Following <a href=\"https://www.hanser-kundencenter.de/fachbuch/artikel/9783446458468\">[Go19]</a> the essential principles of object-oriented programming in C++ are:\n",
+    "\n",
+    " 1. **Abstraction** Classes define the methods and attributes of objects. They can also specify invariants of attributes, like e.g. that numerator and denominator of a rational number should be coprime.\n",
+    " 1. **Encapsulation** denotes the hiding of implementation details and that direct access to attributes can be prohibited, e.g. to ensure preservation of invariants.\n",
+    " 1. **Inheritance** New classes can be derived from existing ones. They retain attributes and members of their base class(es) and can extend those by adding additional ones.\n",
+    " 1. **Polymorphism** The ability of an identifier to represent different entities depending on context and/or parameters. We have seen this in the form of *static polymorphism* with overloading or templates (in the STL).\n",
+    " 1. **Late Binding** The selection of which function to invoke at run-time instead of compile-time."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "e3b94e7f",
+   "metadata": {},
+   "source": [
+    "In this notebook we will introduce the basic concepts of inheritance in C++. "
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "3bbe27c9",
+   "metadata": {},
+   "source": [
+    "Example of a class hierarchy from the *Object-oriented Linear Algebra Subsystem (OLAS)*\n",
+    "<img src=\"../images/OLAS_Solver_Hierarchy.png\" width=\"500\"/>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "7dec0ace",
+   "metadata": {},
+   "source": [
+    "While one can be tempted to design elaborate and deep class hierarchies, this is not necessarily considered optimal design today. Especially in Scientific Programming class hierarchies tend to be relatively flat.\n",
+    "\n",
+    "The example below shows the children of the `GeometryMap` base class in <a href=\"https://i10git.cs.fau.de/hyteg/hyteg\">HyTeG</a>:\n",
+    "<img src=\"../images/HyTeG_GeometryMap.png\" width=\"250\"/>\n",
+    "\n",
+    "Below we will learn, why it can be sensible to have a single base class for multiple different, but related, classes."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "82b7f24f",
+   "metadata": {},
+   "source": [
+    "Let us start with a (slightly modified) example from <a href=\"https://www.hanser-kundencenter.de/fachbuch/artikel/9783446458468\">[Go19]</a>. It is loosely motivated by designing entry types for a database of diffent types of persons."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "id": "2d5d1305",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "#include <iostream>\n",
+    "#include <string>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "1f3df848",
+   "metadata": {},
+   "source": [
+    "We start with a simple base type for a generic human being. This will provide a classical setter and getter method for its private `name` attribute."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "id": "686fb768",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "class person {\n",
+    "\n",
+    "public:\n",
+    "  person() = default;\n",
+    "  person( const std::string& name ) : name(name) {};\n",
+    "\n",
+    "  void set_name( const std::string& n ) { name = n; }\n",
+    "  std::string get_name() const { return name; }\n",
+    "\n",
+    "  void all_info() const {\n",
+    "    std::cout << \"[person]   My name is \" << name << std::endl;\n",
+    "  }\n",
+    "\n",
+    "private:\n",
+    "  std::string name;\n",
+    "};"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "cdc267d6",
+   "metadata": {},
+   "source": [
+    "Now let's introduce a special kind of persons: students. A student of course also has a name, but additionally a program in which they study.\n",
+    "\n",
+    "In this sense a student `class` is a specialisation of the `person` class.\n",
+    "\n",
+    "We can express this by inheritance and also reuse methods and attributes from the base class. "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "id": "9c807fff",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "class student : public person {\n",
+    "\n",
+    "public:\n",
+    "  student( const std::string& name, const std::string program ) :\n",
+    "    person(name), program(program) {}\n",
+    "\n",
+    "  void all_info() const {\n",
+    "    std::cout << \"[student]  My name is \" << get_name()\n",
+    "              << \", I study \" << program << std::endl;\n",
+    "  }\n",
+    "\n",
+    "private:\n",
+    "  std::string program;\n",
+    "};"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "264f432a",
+   "metadata": {},
+   "source": [
+    "- Line 1 expresses that `student` is derived from `person`; in our example we perform *public* inheritance; there are also *protected* and *private* inheritance, but we will not consider those.\n",
+    "- Line 5 is also interesting; `student` is a `person` and we can select the constructor for its `person` parts.\n",
+    "- Line 8: Why do we use the getter method `get_name()` here?"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "6c7ce817",
+   "metadata": {},
+   "source": [
+    "Answer to the question is that `student` has no access to `person::name` because the latter is marked `private`. However, it inherits `name`, that's also why the constructor delegation worked.\n",
+    "\n",
+    "**Note:** A child inherits **all** methods and attributes from its parent, but necessarily access to these."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "5701c347",
+   "metadata": {},
+   "source": [
+    "Now let's play a little bit with our two classes:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "id": "bd768c68",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "int main() {\n",
+    "\n",
+    "  person jane( \"Jane Doe\" );\n",
+    "  jane.all_info();\n",
+    "\n",
+    "  student joe( \"Joe Smith\", \"Geophysics\" );\n",
+    "  joe.all_info();\n",
+    "\n",
+    "  person pv(joe);\n",
+    "  person& pr(joe);   // or pr = joe\n",
+    "  person* pp(&joe);  // or pp = &joe\n",
+    "\n",
+    "  pv.all_info();\n",
+    "  pr.all_info();\n",
+    "  pp->all_info();\n",
+    "}"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "id": "780348e2",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[person]   My name is Jane Doe\n",
+      "[student]  My name is Joe Smith, I study Geophysics\n",
+      "[person]   My name is Joe Smith\n",
+      "[person]   My name is Joe Smith\n",
+      "[person]   My name is Joe Smith\n"
+     ]
+    }
+   ],
+   "source": [
+    "main();"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "fb1056d7",
+   "metadata": {},
+   "source": [
+    "- The first two lines are what we could expect.\n",
+    "- The last three lines are maybe a little surprising. Although `joe` is an object of class `student` all calls to `all_info()` used `person::all_info()`.\n",
+    "\n",
+    "A `student` is also a `person`. However, in line 9, when we instantiate `pv` only the `person` part of joe will be copied in the initialisation, as `pv` is of type `person`.\n",
+    "\n",
+    "Similarly because we use a `person reference` and a `person pointer` we can associated them with joe, but invoking `all_info()` will use the method from the `person` class."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "1ef26e9c",
+   "metadata": {},
+   "source": [
+    "### Some details on Inheritance"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "f4cbc44d",
+   "metadata": {},
+   "source": [
+    "#### Protected\n",
+    "We had seen that we do not inherit access to private data members of a base class.\n",
+    "\n",
+    "Making the base class members public would, of course, provide access. But that is not an attrative solution. The way out is to make the members `protected`. This still disallows external access, like with `private`, but opens it up for children."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "id": "fd4597ea",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "class person {\n",
+    "\n",
+    "public:\n",
+    "  person() = default;\n",
+    "  person( const std::string& name ) : name(name) {};\n",
+    "\n",
+    "  void set_name( const std::string& n ) { name = n; }\n",
+    "  std::string get_name() const { return name; }\n",
+    "\n",
+    "  void all_info() const {\n",
+    "    std::cout << \"[person]   My name is \" << name << std::endl;\n",
+    "  }\n",
+    "\n",
+    "protected:\n",
+    "  std::string name;\n",
+    "};\n",
+    "\n",
+    "class student : public person {\n",
+    "\n",
+    "public:\n",
+    "  student( const std::string& name, const std::string program ) :\n",
+    "    person(name), program(program) {}\n",
+    "\n",
+    "  void all_info() const {\n",
+    "    std::cout << \"[student]  My name is \" << name\n",
+    "              << \", I study \" << program << std::endl;\n",
+    "  }\n",
+    "\n",
+    "private:\n",
+    "  std::string program;\n",
+    "};"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "459b408f",
+   "metadata": {},
+   "source": [
+    "Having changed `name` from `private` to `protected` in line 14, allows us to directly use it in line 25."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "id": "5c2921f9",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[person]   My name is Jane Doe\n",
+      "[student]  My name is Joe Smith, I study Geophysics\n",
+      "[person]   My name is Joe Smith\n",
+      "[person]   My name is Joe Smith\n",
+      "[person]   My name is Joe Smith\n"
+     ]
+    }
+   ],
+   "source": [
+    "main();"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "0339f35f",
+   "metadata": {},
+   "source": [
+    "#### Shadowing\n",
+    "\n",
+    "What happens, when a member with the same name exists in a base class and one of its children?\n",
+    "\n",
+    "In that case the base class member is *shadowed*. However, it is still inherited and accessible with special syntax for correct resolution, see line 8 below."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "id": "4d0cddfe",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "struct A {\n",
+    "  A( int iVal ) : value(iVal) {};\n",
+    "  int value;\n",
+    "};\n",
+    "\n",
+    "struct B : public A {\n",
+    "  B( int iVal, double dVal ) : A(iVal), value(dVal) {\n",
+    "    std::cout << \"A::value = \" << A::value << \"\\n\"\n",
+    "              << \"B::value = \" << value << std::endl;\n",
+    "  };\n",
+    "  double value;\n",
+    "};"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "id": "9e8483cd",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "A::value = 2\n",
+      "B::value = 3.5\n"
+     ]
+    }
+   ],
+   "source": [
+    "int main() {\n",
+    "  B obj( 2, 3.5 );\n",
+    "}\n",
+    "\n",
+    "main();"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "4510c881",
+   "metadata": {},
+   "source": [
+    "Note that this (unfortunately) also applies to overloaded methods:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "id": "a1919205",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "class Parent {\n",
+    "public:\n",
+    "  void func() { std::cout << \"Parent::func() was called!\" << std::endl; }\n",
+    "};\n",
+    "\n",
+    "class Child : public Parent {\n",
+    "public:\n",
+    "  void func( int arg ) {\n",
+    "    std::cout << \"Child::func() was called with argument '\"\n",
+    "              << arg << \"'\" << std::endl;\n",
+    "  }\n",
+    "};"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "id": "742d12ee",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Child::func() was called with argument '7'\n",
+      "Parent::func() was called!\n"
+     ]
+    }
+   ],
+   "source": [
+    "Child son;\n",
+    "\n",
+    "son.func( 7 );\n",
+    "\n",
+    "// son.func(); // fails, as it is shadowed, although it has a differens signature!\n",
+    "\n",
+    "son.Parent::func(); // but it is still available"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "537d3f13",
+   "metadata": {},
+   "source": [
+    "We can make that syntactically nicer with the help of a `using` directive."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "id": "7976790d",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "class AnotherChild : public Parent {\n",
+    "\n",
+    "public:\n",
+    "  void func( int arg ) {\n",
+    "    std::cout << \"Child::func() was called with argument '\"\n",
+    "              << arg << \"'\" << std::endl;\n",
+    "  }\n",
+    "\n",
+    "// private: // note that also the using directive has a visibility!\n",
+    "  using Parent::func;   // \"import\"\n",
+    "    \n",
+    "};"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "id": "869bae76",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Child::func() was called with argument '2'\n",
+      "Parent::func() was called!\n"
+     ]
+    }
+   ],
+   "source": [
+    "AnotherChild daughter;\n",
+    "\n",
+    "daughter.func( 2 );\n",
+    "daughter.func();"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "796c4abb",
+   "metadata": {},
+   "source": [
+    "#### Constructors\n",
+    "Constructors are special as the are **not implicitely inherited**, as we can see from the following example:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 14,
+   "id": "d1ea8b46",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "\u001b[1minput_line_20:3:13: \u001b[0m\u001b[0;1;31merror: \u001b[0m\u001b[1mno matching constructor for initialization of '__cling_N514::researcher'\u001b[0m\n",
+      " researcher smart( \"Smartie Clever\");\n",
+      "\u001b[0;1;32m            ^      ~~~~~~~~~~~~~~~~\n",
+      "\u001b[0m\u001b[1minput_line_20:1:7: \u001b[0m\u001b[0;1;30mnote: \u001b[0mcandidate constructor (the implicit copy constructor) not viable: no known\n",
+      "      conversion from 'const char [15]' to 'const __cling_N514::researcher' for\n",
+      "      1st argument\u001b[0m\n",
+      "class researcher : public person {};\n",
+      "\u001b[0;1;32m      ^\n",
+      "\u001b[0m\u001b[1minput_line_20:1:7: \u001b[0m\u001b[0;1;30mnote: \u001b[0mcandidate constructor (the implicit move constructor) not viable: no known\n",
+      "      conversion from 'const char [15]' to '__cling_N514::researcher' for 1st\n",
+      "      argument\u001b[0m\n",
+      "class researcher : public person {};\n",
+      "\u001b[0;1;32m      ^\n",
+      "\u001b[0m\u001b[1minput_line_20:1:7: \u001b[0m\u001b[0;1;30mnote: \u001b[0mcandidate constructor (the implicit default constructor) not viable: requires 0\n",
+      "      arguments, but 1 was provided\u001b[0m\n"
+     ]
+    },
+    {
+     "ename": "Interpreter Error",
+     "evalue": "",
+     "output_type": "error",
+     "traceback": [
+      "Interpreter Error: "
+     ]
+    }
+   ],
+   "source": [
+    "class researcher : public person {};\n",
+    "researcher smart( \"Smartie Clever\");"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "1fbaa676",
+   "metadata": {},
+   "source": [
+    "We can solve this be explicitely requesting inheritance of the constructor again with a `using` directive. Note that this will inherit all constructors, it cannot be done selectively."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 15,
+   "id": "481fc3f5",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Smartie Clever\n"
+     ]
+    }
+   ],
+   "source": [
+    "class researcher : public person {\n",
+    "   using person::person;\n",
+    "};\n",
+    "researcher smart( \"Smartie Clever\");\n",
+    "std::cout << smart.get_name() << std::endl;"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "56e3203f",
+   "metadata": {},
+   "source": [
+    "When we implement a constructor in the derived class with the same signature, that one is prefered over the inherited one."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 16,
+   "id": "ed941226",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Hello Smartie Clever\n"
+     ]
+    }
+   ],
+   "source": [
+    "class researcher : public person {\n",
+    "   using person::person; \n",
+    "public:\n",
+    "    researcher( const std::string& n ) {\n",
+    "        name = n;\n",
+    "        std::cout << \"Hello \" << name << std::endl;\n",
+    "    }\n",
+    "};\n",
+    "researcher smart( \"Smartie Clever\");"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "fefc9ca9",
+   "metadata": {},
+   "source": [
+    "***\n",
+    "Note: \n",
+    "* When a child object is instantiated the constructors of its base classes are called first.\n",
+    "* Similarly when the child object is destroyed the destructors of its base classes are executed recursively."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 17,
+   "id": "1493af7c",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "class GrandParent {\n",
+    "public:\n",
+    "  GrandParent() { std::cout << \"GrandParent's c'tor invoked\" << std::endl; }\n",
+    "  ~GrandParent() { std::cout << \"GrandParent's d'tor invoked\" << std::endl; }\n",
+    "};\n",
+    "\n",
+    "class Parent : public GrandParent {\n",
+    "public:\n",
+    "  Parent() { std::cout << \"Parent's c'tor invoked\" << std::endl; }\n",
+    "  ~Parent() { std::cout << \"Parent's d'tor invoked\" << std::endl; }\n",
+    "};\n",
+    "\n",
+    "class Child : public Parent {\n",
+    "public:\n",
+    "  Child() { std::cout << \"Child's c'tor invoked\" << std::endl; }\n",
+    "  ~Child() { std::cout << \"Child's d'tor invoked\" << std::endl; }\n",
+    "};"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 18,
+   "id": "7802babb",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "GrandParent's c'tor invoked\n",
+      "Parent's c'tor invoked\n"
+     ]
+    }
+   ],
+   "source": [
+    "Parent walton;"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 19,
+   "id": "57215968",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "GrandParent's c'tor invoked\n",
+      "Parent's c'tor invoked\n",
+      "Child's c'tor invoked\n"
+     ]
+    }
+   ],
+   "source": [
+    "auto jim_bob = new Child;"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 20,
+   "id": "be7a63fe",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Child's d'tor invoked\n",
+      "Parent's d'tor invoked\n",
+      "GrandParent's d'tor invoked\n"
+     ]
+    }
+   ],
+   "source": [
+    "delete jim_bob;"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "aaaf7260",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "C++14",
+   "language": "C++14",
+   "name": "xcpp14"
+  },
+  "language_info": {
+   "codemirror_mode": "text/x-c++src",
+   "file_extension": ".cpp",
+   "mimetype": "text/x-c++src",
+   "name": "c++",
+   "version": "14"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/notebooks/10_Polymorphic_Classes.ipynb b/notebooks/10_Polymorphic_Classes.ipynb
new file mode 100644
index 0000000..df655b1
--- /dev/null
+++ b/notebooks/10_Polymorphic_Classes.ipynb
@@ -0,0 +1,435 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "id": "1a6233be",
+   "metadata": {},
+   "source": [
+    "# Polymorphic or Virtual Classes"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "7ec80016",
+   "metadata": {},
+   "source": [
+    "We return to our example from [Go19] and extend it a little."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "id": "7942848b",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "#include <iostream>\n",
+    "\n",
+    "class person {\n",
+    "\n",
+    "public:\n",
+    "  person( const std::string& name ) : name(name) {};\n",
+    "\n",
+    "  void all_info() const {\n",
+    "    std::cout << \"[person]   My name is \" << name << std::endl;\n",
+    "  }\n",
+    "\n",
+    "protected:\n",
+    "  std::string name;\n",
+    "};"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "id": "f40024e2",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "class student : public person {\n",
+    "\n",
+    "public:\n",
+    "  student( const std::string& name, const std::string program ) :\n",
+    "    person(name), program(program) {}\n",
+    "\n",
+    "  void all_info() const {\n",
+    "    std::cout << \"[student]  My name is \" << name\n",
+    "              << \", I study \" << program << std::endl;\n",
+    "  }\n",
+    "\n",
+    "private:\n",
+    "  std::string program;\n",
+    "};"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "id": "459a1ce0",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "class researcher : public person {\n",
+    "\n",
+    "public:\n",
+    "  researcher( const std::string& name, const std::string& field ) :\n",
+    "    person(name), field(field) {}\n",
+    "\n",
+    "  void all_info() const {\n",
+    "    std::cout << \"[researcher]  My name is \" << name\n",
+    "              << \", I work on problems in \" << field << std::endl;\n",
+    "  }\n",
+    "\n",
+    "private:\n",
+    "  std::string field;\n",
+    "};"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "c5c9fb7a",
+   "metadata": {},
+   "source": [
+    "As `student`s and `researcher`s are `person`s we can e.g. generated a vector of person pointers, where each pointer targets a different university member."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "id": "5ff4684f",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "#include <vector>\n",
+    "\n",
+    "student joe( \"Joe\", \"Geophysics\" );\n",
+    "student jane( \"Jane\", \"Geology\" );\n",
+    "\n",
+    "researcher erika( \"Erika\", \"Seismology\" );\n",
+    "person franz( \"Franz\" );\n",
+    "\n",
+    "std::vector<person*> uniMembers;\n",
+    "\n",
+    "uniMembers.push_back( &joe );\n",
+    "uniMembers.push_back( &jane );\n",
+    "uniMembers.push_back( &erika );\n",
+    "uniMembers.push_back( &franz );"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "56cad921",
+   "metadata": {},
+   "source": [
+    "* Because of inheritance, we can now have all pointers to our different people in the same vector, although the targeted objects are of different type.\n",
+    "* Problem is, when we work with the vectors and ask for info we only get the minimal stuff from the base class"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "id": "aebeaf35",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[person]   My name is Joe\n",
+      "[person]   My name is Jane\n",
+      "[person]   My name is Erika\n",
+      "[person]   My name is Franz\n"
+     ]
+    }
+   ],
+   "source": [
+    "for( auto memb: uniMembers ) memb->all_info();"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "3f7ae736",
+   "metadata": {},
+   "source": [
+    "Instead of the full records, such as"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "id": "445c4d28",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[student]  My name is Jane, I study Geology\n",
+      "[researcher]  My name is Erika, I work on problems in Seismology\n"
+     ]
+    }
+   ],
+   "source": [
+    "jane.all_info();\n",
+    "erika.all_info();"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "977efc72",
+   "metadata": {},
+   "source": [
+    "The solution to this is to make our classes **polymorphic**.\n",
+    "\n",
+    "*Definition:*   \n",
+    "A class that contains at least one **virtual function** is called **polymorphic** or **virtual**."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "id": "4b596bd2",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "#include <iostream>\n",
+    "\n",
+    "class person {\n",
+    "\n",
+    "public:\n",
+    "  person( const std::string& name ) : name(name) {};\n",
+    "\n",
+    "  virtual void all_info() const {\n",
+    "    std::cout << \"[person]      My name is \" << name << std::endl;\n",
+    "  }\n",
+    "\n",
+    "protected:\n",
+    "  std::string name;\n",
+    "};\n",
+    "\n",
+    "class student : public person {\n",
+    "\n",
+    "public:\n",
+    "  student( const std::string& name, const std::string program ) :\n",
+    "    person(name), program(program) {}\n",
+    "\n",
+    "  void all_info() const {\n",
+    "    std::cout << \"[student]     My name is \" << name\n",
+    "              << \", I study \" << program << std::endl;\n",
+    "  }\n",
+    "\n",
+    "private:\n",
+    "  std::string program;\n",
+    "};\n",
+    "\n",
+    "class researcher : public person {\n",
+    "\n",
+    "public:\n",
+    "  researcher( const std::string& name, const std::string& field ) :\n",
+    "    person(name), field(field) {}\n",
+    "\n",
+    "  void all_info() const {\n",
+    "    std::cout << \"[researcher]  My name is \" << name\n",
+    "              << \", I work on problems in \" << field << std::endl;\n",
+    "  }\n",
+    "\n",
+    "private:\n",
+    "  std::string field;\n",
+    "};"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "id": "12bebbf9",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[student]     My name is Joe, I study Geophysics\n",
+      "[student]     My name is Jane, I study Geology\n",
+      "[researcher]  My name is Erika, I work on problems in Seismology\n",
+      "[person]      My name is Franz\n"
+     ]
+    }
+   ],
+   "source": [
+    "#include <vector>\n",
+    "\n",
+    "student joe( \"Joe\", \"Geophysics\" );\n",
+    "student jane( \"Jane\", \"Geology\" );\n",
+    "\n",
+    "researcher erika( \"Erika\", \"Seismology\" );\n",
+    "person franz( \"Franz\" );\n",
+    "\n",
+    "std::vector<person*> uniMembers;\n",
+    "\n",
+    "uniMembers.push_back( &joe );\n",
+    "uniMembers.push_back( &jane );\n",
+    "uniMembers.push_back( &erika );\n",
+    "uniMembers.push_back( &franz );\n",
+    "\n",
+    "for( auto memb: uniMembers ) memb->all_info();"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "ef04a619",
+   "metadata": {},
+   "source": [
+    "**Explanation**  \n",
+    "So what is the difference here? Whenever we work with a **pointer** `pVar` or a **reference** `rVar` to a class and invoke a function `myFunc()` via that on the target the compiler will check the following:\n",
+    "\n",
+    "1. What is the **static type** of `pVal` and or `pVar`, i.e. how were they declared?\n",
+    "1. Does that class have a method `myFunc()`?\n",
+    "1. Is `myFunc()` accessible, i.e. public, or not, i.e. private?\n",
+    "1. Is it a **virtual function**?\n",
+    "   * No: Then invoke it.\n",
+    "   * Yes: Check what the **dynamic type** is of `pVal` and or `pVar`, i.e. the type of the object they target.\n",
+    "   Then invoke `myFunc()` for that type."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "ae46b4e3",
+   "metadata": {},
+   "source": [
+    "**Remark #1:**  \n",
+    "This only works for pointers and references, but not for variables, even if they are initialised or copy constructed from a child object."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "id": "ccb162c8",
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[person]      My name is Joe\n"
+     ]
+    }
+   ],
+   "source": [
+    "person alias{joe};\n",
+    "alias.all_info();"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "2d6da352",
+   "metadata": {},
+   "source": [
+    "Only the parts of `joe` that belong to its `person` base class are used for the initialisation. This is sometimes refered to as **slicing**."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "ad22ac97",
+   "metadata": {},
+   "source": [
+    "**Remark #2:**  \n",
+    "The decision which version of `all_info()` must be invoked **cannot** be made by the compiler, as it may not have the necessary information on the type of the target of a pointer or reference. It can only be made at **runtime**."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "bcb61161",
+   "metadata": {},
+   "source": [
+    "#### Terminology\n",
+    "Since the decision which virtual method is invoked on a pointer or reference to a polymorphic object is performed at runtime, one calls this **late** or **dynamic binding**.\n",
+    "\n",
+    "It constitutes a form of **dynamic polymorphism**, as opposed to the static polymorphism of overloading or templates, which get's resolved at compile-time."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "370a4417",
+   "metadata": {},
+   "source": [
+    "#### Costs\n",
+    "In order to be able to correctly dispatch the virtual function call at runtime, the compiler generates a **virtual function table** (also **virtual method table**, **vtable**, **dispatch table**). The necessary table lookup constitutes an indirection and increases the costs for the function invokation.\n",
+    "\n",
+    "If your function is short (i.e. does not perform a lot of work) then this extra overhead can be critically significant. If you function is long is will be negligible."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "e27f36b9",
+   "metadata": {},
+   "source": [
+    "### Overriding"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "960b3f74",
+   "metadata": {},
+   "source": [
+    "In our example all child classes (`student` and `researcher`) have implemented their own version of `all_info()` and, thus, **overridden** the one from the base class. This is, however, not required. If the base class method is not overridden in a child, the base class method will simply be used."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 14,
+   "id": "99352379",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "class staff : public person{\n",
+    "    using person::person;\n",
+    "};"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 17,
+   "id": "454ccaaf",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[person]      My name is Linda\n"
+     ]
+    }
+   ],
+   "source": [
+    "person* secretary = new staff( \"Linda\" );\n",
+    "secretary->all_info();"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "9f63ea43",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "C++14",
+   "language": "C++14",
+   "name": "xcpp14"
+  },
+  "language_info": {
+   "codemirror_mode": "text/x-c++src",
+   "file_extension": ".cpp",
+   "mimetype": "text/x-c++src",
+   "name": "c++",
+   "version": "14"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
-- 
GitLab