C++种public、protected、private总结1
- public:类内、类的对象;派生类、派生类对象均可访问。
- protected:类内、派生类内可以访问;类的对象、派生类的对象不可访问。
- private:只有类内可以访问;类的对象、派生类内、派生类的对象不可访问。
C++继承:公有继承、保护继承、私有继承2
- 公有继承
公有继承时,对基类的共有成员和保护成员的访问属性不变,派生类的新增成员可以访问基类的公有成员和保护成员,但是访问不了基类的私有成员。派生类的对象只能访问派生类的公有成员(包括继承的公有成员),访问不了保护成员和私有成员。 - 保护继承
保护继承时,基类的公有成员和保护成员被派生类继承后变成保护成员,派生类的新增成员函数可以访问基类的公有成员和保护成员,但是访问不了基类的私有成员。派生类的对象不可以访问派生类继承基类的公有成员、保护成员和私有成员。 - 私有继承
私有继承时,基类的公有成员和保护成员都被派生类继承下来后变成了私有成员,派生类的新增成员可以访问基类的公有成员和保护成员,但是访问不了基类的私有成员。派生类的对象不能访问派生类继承基类的公有成员,保护成员和私有成员。
public | protected | private | |
---|---|---|---|
公有继承 | public | protected | 不可见 |
保护继承 | protected | protected | 不可见 |
私有继承 | private | private | 不可见 |