首页IT科技请简述多态性?(理解多态)

请简述多态性?(理解多态)

时间2025-04-29 23:45:14分类IT科技浏览4446
导读:理解多态...

理解多态

多种多样的形态(静态多态,动态多态)

静态多态(编译时期)

1:函数重载

bool comparet(int ,int); bool compare(double,double); compare(100,100)->compare_int_int(); compare(1.0,2.0)->comapre_double_double();

2:模板

template<typename T> bool compare(T a,T b){ return a>b; } compare<int>(20,10); =>int 实例化compare(int x, int y); 发生在编译时期 compare<double>(100.0,50.0); 实例化compare(double x,double y);发生在编译器

动态多态(运行时期)

在继承结构中,基类指针(引用),指向派生类对象,通过该指针(引用)调用同名覆盖方法(虚函数)

基类指针指向哪个派生类对象,就会调用哪个派生类对象的同名覆盖方法,称为多态

pBase->show()多态底层是通过动态绑定来实现的 pbase->访问谁的vfptf->继续访问vftable->拿到最终的虚函数地址->完成调用

继承的好处?

1:可以做代码的复用

2:在基类中提供统一的虚函数接口,让派生类进行重写,然后就可以使用多态.

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
连续激光器的工作原理(qcwlicon.exe – qcwlicon是什么进程 有何作用) lnmgr.exe是什么(reminder.exe – reminder是什么进程 有什么用)