面向对象的三大特性:封装、继承和多态。主要记录继承。  低层具有高层的特性。 继承的意义: 可以实现代码的复用性,节省开发时间。当多个类可能有公共成员时,此时就可以把这些成员放在一个类中,称之为基类。在原有的特性基础上进行拓展,增加功能产生新的类,就是派生类。
格式:
class 派生类:继承方式 基类
{
};
public、protected和private指定访问范围。
| 类内成员 | 派生类成员 | 其他类 | 该类实例 | 派生类实例 |
---|
public | √ | √ | √ | √ | √ | protected | √ | √ | × | × | × | private | √ | × | × | × | × |
class A
{
public:
int a;
void pub_fun1();
protected:
int b;
void prot_fun2();
private:
int c;
void priv_func3();
};
class B:public A{
public:
void func(){
int x = a+b;
int xx=c;
}
};
int main(){
A class_a;
int x =class_a.b;
return 0;
}
总结:public在任何地方都可以访问,protected和private不能被实例访问,但是可以被友元函数访问。
继承中的特点
首先记住,无论是否继承,上面的规则都是适用的。 public继承:  protected继承  private继承 
|