Guest User

Untitled

a guest
May 25th, 2018
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.86 KB | None | 0 0
  1. class Renderer
  2. {
  3. public:
  4.     void loadFile() { /* загрузка файла */ } // общая функция
  5.     virtual void drawTriangle() = 0; // абстрактная функция
  6. };
  7.  
  8. class OpenGLRenderer : public Renderer
  9. {
  10. public:
  11.     void drawTriangle() { /* имплементация в Опенгл */ }
  12. };
  13.  
  14. class VulkanRenderer : public Renderer
  15. {
  16. public:
  17.     void drawTriangle() { /* имплементация в Вулкане */ }
  18. };
  19.  
  20. int main()
  21. {  
  22.     Renderer* swag = new OpenGLRenderer(); // создаем указатель типа Renderer, на объект типа OpenGLRenderer
  23.     swag->loadFile(); // вызывается функция из родительского класса
  24.     swag->drawTriangle(); // вызывается функция из наследованого класса, в данном случае Опенгл
  25. }
Add Comment
Please, Sign In to add comment