返回

新闻详情

C++基础知识分享


来源:洛阳达内IT培训学校时间:2022/4/30 18:48:12

不可以。因为在C++编程中,函数的返回值可以忽略(不使用其返回值),程序中调用此时函数名相同和参数相同的两个函数对编译器和程序员来说是没有办法区分的,编译器会提示出错。

2.C++多态机制的实现

(1)重载:同一个类中同一个函数的不同实现,必须增加函数参数不同(类型,个数,顺序),本质上与多态无关。使用重载函数,编译器会根据函数的名称和参数定义来生成函数的内部标识符,增加每个函数的标识符是的,这样在链接时就可以链接到对应的函数。重载属于静态绑定,在编译过程中就能确定调用哪一个函数,是早期绑定,与多态原理不同。

(2)覆盖:也称为重写,子类中对父类的同名函数同参数的重写,父类的函数必须设置为虚函数,这样增加使用基类指针或者引用指向不同的子类对象可以动态调用属于具体子类的方法而不是调用基类的方法,从而实现多态。

PS:C++中多态一般默认是指动态多态(通过类继承机制和虚函数机制实现),是在运行时确定的,在面向对象编程中直接被称为多态,而静态多态一般是指使用函数重载或者模板机制实现的。模板也允许将不同的特殊行为和单个泛化记号相关联,由于这种关联处理于编译期而非运行期,因此被称为“静态”。可以用来实现类型安全、运行的同质对象集合操作。C++的STL库大量使用了模板机制来实现,而并没有使用虚函数机制,属于静态多态。


上一篇:转行IT行业可以从学习Java开始吗

下一篇:税控盘服务费抵减报表怎么填

  咨询老师  拨打电话  网上报名