Santa Clara: Polymorphism


Details
Many C++ programmers, automatically think of virtual when they hear 'polymorphism'. However, there are better, more flexible ways to have polymorphism without using virtual. This talk will show how to achieve that.
We will start by looking at static and runtime polymorphism and discuss the advantages and disadvantages of each. Then we will take a look at 'virtual', looking at how it is implemented and the disadvantages of inheritance based polymorphism it entails.
With that background in place, we will demonstrate a technique using C++17 that combines some of the best features of static and runtime polymorphism without using inheritance while still being easy to use.
About the Speaker:
John Bandela first started programming in C++ at age 14. It took a while, but as he learned the language, he decided he really liked C++. John attended the University of Florida and obtained his undergraduate degree in Computer and Information Science. During his undergraduate time, John created and submitted Boost.Tokenizer. He then went on to medical school and neurosurgery residency, but decided to do something with a little less scary undefined behavior and returned to programming in C++.

Sponsors
Santa Clara: Polymorphism