myShape.h 674 B

12345678910111213141516171819202122
  1. #pragma once
  2. #include <iostream>
  3. enum colour { RED, GREEN, BLUE, BLACK };
  4. class Shape
  5. {
  6. protected://понятия недоступны извне, но доступны методам пролизводного класса
  7. colour m_colour;
  8. bool m_contour;
  9. double m_transparency;
  10. public:
  11. void WhereAmI();
  12. virtual void WhereAmIVirtual();
  13. Shape(colour colour = BLACK, bool contour = true, double transparency = 1);
  14. Shape(const Shape&);
  15. virtual ~Shape();
  16. virtual void Inflate(int)/*=0*/ {};//класс стал абстрактным,компилятор не позволит создавать объекты такого типа(класс интерфейс || класс протокол)
  17. /*в чисто виртуальном методе можно сделать реализацию и, как прием использовать этот метод в производном классе*/
  18. };