类的继承方式——公有型(public)、保护型(protected)、私有型(private), 访问控制修饰符也有public、protected、private3种类型。继承方式不同,可访问性也不同,[这个博客也很详细](http://blog.csdn.net/chlele0105/article/details/22413157)。
- 公有型派生
公有型派生表示对于基类中的public数据成员和成员函数,在派生类中依旧是public,对于基类中的private数据成员和成员函数,在派生类中依旧是private。
例如
class CEmployee
{
public:
void Output()
{
cout<<m_ID<<endl;
cout<<m_Name<<endl;
cout<<m_Depart<<endl;
}
private:
int m_ID;
char m_Name[128];
char m_Depart[128];
}
class COperator:public CEmployee
{
public:
void output()
{
cout<<m_ID<<endl;
}
}
- 私有型派生
私有型派生表示对于基类中的public、protected数据成员和成员函数,在派生类中可以访问。基类中的private数据成员,在派生类中不可以访问
例如
class CEmployee
{
public:
void Output()
{
cout<<m_ID<<endl;
cout <<m_Name<<endl;
cout <<m_Depart<<endl;
}
int m_ID;
protected:
char m_Name[128];
private:
char m_Depart[128];
};
class COperator :private CEmployee
{
public:
void Output()
{
cout<<m_ID<<endl;
cout <<m_Name<<endl;
cout <<m_Depart<<endl;
}
}
- 保护型派生
保护型派生表示积累中的public、protected数据成员和成员函数,在派生类中均为protected。protected类型在派生类中的定义可以访问,用派生类声明的对象不可以访问,即在类体外不可以访问。protected成员可以被基类的所有派生类使用。这一性质可以沿继承树无限向下传播。