继承的基本操作与辨析

继承与派生

继承:新的类从已有的类处得到已有特性的过程
派生:已有的类把自己的特性共享,以此为基础产生新的类的过程
格式:class 派生类名: 继承方式 基类名 {},其中{}中写的是派生类自己的类体;继承方式有publicprivateprotected三种。如果不写继承方式,默认继承方式为private

ps.若有多个基类,之间用逗号隔开

class dad1{...};
class dad2{...};
class son: public dad1
{
    ...
};
class dau: public dad1, public dad2
{
    ...
};

三种继承方式&三种分区

  • 基类public分区的变量可以被继承;
  • 基类protected分区的变量可以被继承;
  • 基类private分区的变量不可被继承;

ps.protected也是一种类型,与public和private同级,可以被继承,但不可以从类体外访问

class dad{//基类dad
private:
    int wife;//不可以被继承
public:
    int fame;//可以被继承
protected:
    long long money;//可以被继承
}
  • 使用public继承:完全照搬
    • 基类的public被继承,成为派生类的public
    • 基类的protected被继承,成为派生类的protected
  • 使用protected继承:全都protected
    • 基类的public被继承,成为派生类的protected
    • 基类的protected被继承,成为派生类的protected
  • 使用private继承:全都private
    • 基类的public被继承,成为派生类的private
    • 基类的protected被继承,成为派生类的private

**ps.因为不考填选,这块的内容了解即可,实际操作中无脑用public**能解决大部分问题


继承特性的基本用法

在派生类中,继承过来的东西直接当自己的用,不用再花里胡哨的搞什么格式,也不需要对象

class dad{
public:
    void output(){ //基类的公有成员函数
        cout<<"666";
    }
    int fame;
};

class son: public dad
{
public:
    void Print(){
        output();//直接访问基类的公有成员函数
        fame++;//直接访问基类的公有成员
    }
};

猜你喜欢

转载自blog.csdn.net/pyx2466079565/article/details/107142626
今日推荐