类的继承有三种方式,其一为公有继承/其二为私有继承/其三为保护集成。其继承原理大致如下代码:
class A{
public: //公有成员
private://私有成员
product: //保护成员
};//建立一个基类,即继承的类
1.公有继承:
class B:public A{
};//以公有方式继承A类,则A类中的成员属性在继承类中保持不变。
2.私有继承:
class B:private A{
};//以私有方式继承A类,则A类中的成员属性在继承类中需要该变。A类中的公有成员在B类变成私有成员,保护成员也变成私有成员,自然私有成员仍是私有成员。其中无关键字private,则系统默认私有继承。
3.保护继承:
class B:product A{
};//以保护方式继承A类,则A类中的成员属性在继承类中需要该变。A类中的公有成员在B类变成保护成员,保护成员不做改变,私有成员仍是私有成员。
内部访问:则为类中的函数调用这些成员,如:
class B:public A{
public:
void inter(){
//此处可调用基类公有成员
}
};
对象访问:则为建立类的对象,如:
int main(){
B object;//类B建立对象为object,以该对象访问所 //提成员
return 0;
}
其具体访问方式 如下总结:
公有继承的访问规则 |
|||
类中的成员函数 | 私有成员 | 公有成员 | 保护成员 |
内部访问 | 不可访问 | 可访问 | 可访问 |
对象访问 | 不可访问 | 可访问 | 不可访问 |
私有继承的访问规则 | |||
类中的成员函数 | 私有成员 | 公有成员 | 保护成员 |
内部访问 | 不可访问 | 可访问 | 可访问 |
对象访问 | 不可访问 | 不可访问 | 不可访问 |
保护继承的访问规则 | |||
类中的成员函数 | 私有成员 | 公有成员 | 保护成员 |
内部访问 | 不可访问 | 可访问 | 可访问 |
对象访问 | 不可访问 | 不可访问 | 不可访问 |