$ cat inheritance.cpp
#include <iostream>
using namespace std;
class A { };
class B : private A { };
int main() {
A* ab = new B;
}
$
$ g++ inheritance.cpp
inheritance.cpp: In function 'int main()':
inheritance.cpp:9: error: 'A' is an inaccessible base of 'B'
$
Run Code Online (Sandbox Code Playgroud)
我只是不明白这个错误.
据我所知,正如本教程所证实的那样,private继承只应改变class B外部世界可见成员的方式.
我认为私有说明者所做的不仅仅是改变class B成员的可见性.