C++继承、虚函数、纯虚函数、多态、覆盖、重载、隐藏、引用等常用概念

常用概念有:继承、虚函数、纯虚函数、多态、覆盖、重载、隐藏等

1、继承:

        继承比较好理解,主要注意继承中构造函数的调用顺序。构造子类(派生类)的时候,先要调用父类(基类)的构造函数。

2、虚函数:

        virtual关键字

3、纯虚函数

        virtual void breath() = 0;

        纯虚函数让基类先具有一个操作名称,没有操作内容,让派生类在继承时再去具体的给出定义。凡是有纯虚函数的类叫抽象类,这种类不能声明对象,只是作为基类为派生类服务,在派生类中必须完全实现基类的纯虚函数。否则,派生类也成了抽象类,不能实例化对象。

4、多态:

       多态性是用虚函数类实现的,而不是纯虚函数。

       多态用一句话概括就是:在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的世纪类型来调用相应的函数。(迟绑定或者叫动态绑定)

5、覆盖:

       构成函数覆盖的条件为:

      1)基类函数必须是虚函数;(virtual)

      2)发生覆盖的两个函数要分别位于派生类和基类中;

      3)函数名称与参数列表必须完全相同。

6、重载:

       函数参数类型、参数个数不同才能构成重载。重载发生在同一个类中。

7、隐藏:

      派生类中具有与基类同名的函数(不考虑参数列表是否相同),从而在派生类中隐藏了基类的同名函数。

 

隐藏、重载、覆盖容易混淆,简单的区别是:

1)重载发生在同一个类中,隐藏和覆盖都发生在派生类与基类中;

2)派生类与基类中,如果两个函数函数名称与参数列表完全相同,基类函数中如果使用了virtual,则属于覆盖,如果没有使用virtual,则属于隐藏。

3)派生类与基类中,如果两个函数函数名称相同,参数列表不同,不管基类函数前是否使用了virtual,都属于隐藏

 

8、引用:

      引用是变量的别名,必须在声明的时候初始化。引用和用来初始化引用的变量共用同一块内存。

 

引用与指针变量的区别:

1)引用是一个别名,不占用内存地址空间,与初始化它的变量占用同一块内存;

2)指针就是地址,要占用存储空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值