>D's private void test14(); does NOT map to 
C++'s private: virtual void test14();

Why. I think, mapping to `private: virtual void test14();` similar `protected` and `public` more logical. This does not mean that D should use vtbl to call private method.