Pure virtual function (czysta funkcja wirtualna?)
Ostatnio zmodyfikowano 2012-03-16 23:06
akwes Temat założony przez niniejszego użytkownika |
Pure virtual function (czysta funkcja wirtualna?) » 2012-03-16 21:10:23 #ifndef Drawer_H #define Drawer_H class Drawer { public: virtual void Draw() = 0; }; #endif
Hm... Co oznacza tutaj przypisanie do funkcji wartości 0? |
|
yoogi |
» 2012-03-16 21:49:26 dobre pytanie, też mnie to ciekawi :) |
|
akwes Temat założony przez niniejszego użytkownika |
» 2012-03-16 23:06:20 In C++, pure virtual functions are declared using the pure specifier (= 0), as demonstrated below. class Abstract { public: virtual void pure_virtual() = 0; };
The pure virtual function declaration provides only the prototype of the method. Although an implementation of the pure virtual function is typically not provided in an abstract class, it may be included, although the definition may not be included at the point of declaration. Every non-abstract child class is still required to override the method, but the implementation provided by the abstract class may be called in this way: void Abstract::pure_virtual() { }
class Child : public Abstract { virtual void pure_virtual(); };
void Child::pure_virtual() { Abstract::pure_virtual(); }
|
|
« 1 » |