C++多态

多态


 

多态的定义

多态按字面的意思就是多种形态。当类之间存在层次结构,并且类之间是通过继承关联时,就会用到多态。C++ 多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同的函数。

简单来说就是完成某个行为,不同的对象会产生不同的结果

 

多态的构成条件

1. 必须通过基类的指针或者引用调用虚函数

2. 被调用的函数必须是虚函数,且派生类必须对基类的虚函数进行重写

 

class A
{
public:
    virtual void fun1()
    {
        cout << "A" << endl;
    }
};

class B:public A
{
public:
    virtual void fun1()
    {
        cout << "B" << endl;
    }
};

void fun(A* p)//指针
{
    p->fun1();
}

void fun(A& p)//引用
{
    p.fun1();
}

int main()
{
    A a;
    B b;
    A* p = &a;
    A* p1 = &b;
    fun(a);
    fun(b);


    return 0;
}
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » C++多态