重载_覆盖_隐藏及指针_引用区别

来源:互联网 发布:caffe能做什么用 编辑:程序博客网 时间:2024/05/29 16:52

重载:发生在同个类当中,

覆盖:在派生类当中重写基类的函数,函数名、参数列表都一样。Virsual 函数。

隐藏:在派生类当中重写基类的函数,二种情况都为隐藏:1.函数名、参数列表都一样,但为普通函数;2.函数名相同,但参数列表不同,则不管基类的函数声明是否有virtual关键字,基类的函数都将被隐藏(重载的此种情况发生在同类中)。当隐藏发生时,可使用“基类名::函数名(参数)”的语法形式。

 

函数的覆盖是发生在派生类和基类之间,两个函数必须完全相同,并且都是虚函数。

 

指针和引用:引用地址不可更改,形同引用变量的别名,不需要占用内存;但指针可以,且需要存用内存。