There is no keyword 'virtual' but the destructors are virtual, because these classes inherit QAbstractItemModel whose destructor is virtual.
Consider this code:
class Base
{
public:
virtual void f() { std::cout << "Base::f" << std::endl; }
};
class Derived : public Base
{
public:
void f() { std::cout << "Derived::f" << std::endl; }
};
int main(int argc, char **argv)
{
Base *base = new Derived();
base->f();
}
class Base
{
public:
virtual void f() { std::cout << "Base::f" << std::endl; }
};
class Derived : public Base
{
public:
void f() { std::cout << "Derived::f" << std::endl; }
};
int main(int argc, char **argv)
{
Base *base = new Derived();
base->f();
}
To copy to clipboard, switch view to plain text mode
You'll get "Derived::f" printed. At least I'm getting this result
.
Bookmarks