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;
}


