C++面向对象

面向对象三大特性

封装:将具体的实现过程和数据封装成一个函数,只能通过接口访问,降低耦合性

继承:子类继承父类的特征和行为,子类有父类非private方法或成员变量,子类可以对父类的方法进行重写,增强了类之间的耦合性,但是当父类中的成员变量、成员函数或者类本身被 final 关键字修饰时,修饰的类不能继承,修饰的成员不能重写或修改。

多态:多态就是不同继承类的对象,对同一消息做出不同的响应,基类的指针指向或绑定到派生类的对象,使得基类指针呈现不同的表现方式。在 C++ 中多态一般是使用虚函数来实现的,使用基类指针调用函数方法时,如果该指针指向的是一个基类的对象,

则调用的是基类的虚函数;如果该指针指向的是一个派生类的对象,则调用的是派生类的虚函数。

 

重载、重写、隐藏的区别

重载:发生在同一个作用域中,函数名称相同,但参数的类型,个数,顺序不同(即参数列表不一样),不关心函数返回值

int temp(int a)

void temp(int a)

这俩不发生重载,不被允许

隐藏:非虚函数,派生类中与基类同名的函数和成员变量都被隐藏,如需要访问则需要加上基类作用域

重写:基类的虚函数在派生类中进行重写,函数名、参数列表、返回值类型都必须同基类中被重写的函数一致,只有函数体不同。

 

 

posted @   muzixuanxuanxuan  阅读(48)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示