April 2018
Intermediate to advanced
322 pages
6h 57m
English
Similar to the function template, the class template is used to build a generic class that can accept various data types. Let's refactor the preceding Function_Template.cbp code by adding a new class template. The code should be as follows:
// Class_Templates.cbp#include <iostream>using namespace std;class Animal{protected: string m_name;public: Animal(string name) : m_name(name) { } // The interface that has to be implemented // in derived class virtual string MakeSound() = 0; string GetName() { return m_name; }};class Dog : public Animal{public: // Forward the constructor arguments Dog(string name) : Animal(name) {} // Copy assignment operator overloading void operator = (const Dog &D) { m_name = D.m_name; } // here we implement ...