Is there a pure virtual function in the C++ Standard Library?
[syserr.errcat.overview] has std::error_category
class error_category {
virtual const char* name() const noexcept = 0;
virtual string message(int ev) const = 0;
};
There are no others in C++14.
C++17 adds std::pmr::memory_resource
in [mem.res.class] to the one in C++14, with the following private
pure virtual functions:
class memory_resource {
virtual void* do_allocate(size_t bytes, size_t alignment) = 0;
virtual void do_deallocate(void* p, size_t bytes, size_t alignment) = 0;
virtual bool do_is_equal(const memory_resource& other) const noexcept = 0;
};
And yes, private virtual functions can be overridden.