当前位置: 代码迷 >> 综合 >> C++基础(十七)继承
  详细解决方案

C++基础(十七)继承

热度:71   发布时间:2024-02-24 20:46:04.0

c++中存在三种继承方式    注意:任何继承都不可访问父类的私有权限(private)修饰的成员变量

公共继承    继承的所有变量保留原来的访问权限

保护继承    继承的所有变量的访问权限为 protected

私有继承    继承的所有变量的访问权限为 private

#include <iostream>
using namespace std;class Base 
{
public:int m_Pub;
protected:int m_Pro;
private:int m_Pri;
};class Son : public Base     //public 继承的所有变量保留原来的访问权限
{
public:void see() {m_Pub = 10;m_Pro = 20;//m_Pri = 30;   报错 访问不到父类私有权限变量}
};class Son1 :protected Base //protected 继承的所有变量的访问权限为 protected
{
public:void see(){m_Pub = 10;m_Pro = 20;}
};class Son2 :private Base //private 继承的所有变量的访问权限为 private
{
public:void see(){m_Pub = 10;m_Pro = 20;}
};void testSon() 
{Son ss;ss.m_Pub = 20;//ss.m_Pro = 5;    访问不到Son1 ss1;//ss1.m_Pub = 20;   访问不到//ss1.m_Pro = 5;    访问不到
}

 

  相关解决方案