Back to slide -- Keyboard shortcut: 'u'  previous -- Keyboard shortcut: 'p'                virtual-member-functions/interface-like-class-and-use.cc - A C++ class that 'implements the interface' and uses the resulting class.Lecture 5 - slide 11 : 40
Program 3

// An 'implementation' of the 'interface-like' abstract class in C++

#include <iostream>

enum GameObjectMedium {Paper, Plastic, Electronic};

class IGameObject{
public:
  virtual int getGameValue() = 0;
  virtual GameObjectMedium getMedium() = 0;
};

class GameObject: public IGameObject{
public:
  int getGameValue() override{
    return 1;
  }

  GameObjectMedium getMedium() override{
    return Electronic;
  }
};

int main(){
  IGameObject *ig = new GameObject();            // Polymorphic

  std::cout << ig->getGameValue() << std::endl;  // 1
  std::cout << ig->getMedium() << std::endl;     // 2
}