赞
踩
完成某种行为时不同的对象去完成会产生不同的状态。举个例子:买票时普通人全价,学生半价就是常见的多态。
重载就是两个或多个函数函数名,返回值相同,而参数列表不同包括参数的顺序不同,类型不同,个数不同,但是当参数列表相同而返回值不同时是不能构成重载的。
重写就是当子类对父类的virtual函数重新定义,函数的参数列表,返回值,接口(public,private,protece)全部继承父类,通过父类指针调用函数时会根据对象的不同来调用不同的函数。
重定义就是子类中拥有一个与父类中函数名相同,参数列表相同,返回值相同的函数,会编译器会将父类的函数隐藏,可以用作用域符号::调用父类的函数。特别注意:隐藏不会根据父类指针指向对象的不同去调用不同的函数。
3.多态的原理
4.inline函数,static成员函数可以是虚函数吗?
5.析构函数可以是虚函数吗,什么情况下是?
可以看我的另一篇文章。
不能,虚函数表指针是在构造函数初始化列表时才初始化的。
特别注意:普通函数不一定都比虚函数快。普通对象调用普通函数和虚函数是一样快的,只有指针或者引用对象在调用虚函数时构成多态需要从虚函数表中查找,此时普通函数快。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。