多态性是面向对象程序设计的重要特征,重载和虚函数是体现多态性的两个重要手段.虚函数体现了多态的灵活性,进一步减少冗余信息,显著提高了软件的可扩充性。
通过学习前面的函数重载与继承方法后,经常会遇到下面的问题:在派生类中存在对基类函数的重载,当通过派生类对象调用重载函数时却调用了基类中的原函数。
针对这种情况,我们采用虚函数的方法实现对派生类中重载函数的调用。
- #include "iostream"
- using namespace std;
- class A{
- private:
- int a,b;
- public:
- A(int x,int y)
- {a=x;b=y;}
- virtual void print(){cout<<a<<b;}; //
- };
- class B:public A{
- int c;
- public:
- B(int x,int y,int z):A(x,y){
- c=z; }
- void print(){
- A::print();
- cout<<c<<endl;
- }
- };
- int main()
- {
- B b(3,5,8);
- b.print();
- return 0;
- }
阅读(892) | 评论(0) | 转发(1) |