Advertisement
Guest User

Untitled

a guest
May 8th, 2017
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.73 KB | None | 0 0
  1. class Cabs: public Babs //Здесь B наследуется от абстрактного класса A
  2. {
  3. public:
  4.     void AbstractMethod();
  5. }
  6.  
  7. class Cint: public Bint //Здесь B реализует интерфейс A, если бы интерфейсы были в C++
  8. {
  9. public:
  10.     void AbstractMethod();
  11. }
  12.  
  13. void DoThings()
  14. {
  15.     Babs* c1 = new Cabs();
  16.     Bint* c2 = new Cint();
  17.  
  18.     c1->AbstractMethod(); //Вызовется Cabs::AbstractMethod(), так как он виртуальный
  19.     c2->AbstractMethod(); //Вызовется Babs::AbstractMethod(), так как интерфейс не гарантирует, что метод будет виртуальным
  20.  
  21.     delete c1;
  22.     delete c2;
  23. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement