c++多态
#include <cstdio>
using namespace std;
class Base {
public:
virtual void A()
{
puts("Base::A called");
}
};
class D : public Base
{
public:
virtual void A()
{
puts("D::A called");
}
};
int main()
{
D* d = new D;
d->Base::A();
(d->Base::A)();
void (Base::*ptr) () = &Base::A;
(d->*ptr)();
delete d;
}
运行结果
Base::A called
D::A called
D::A called
加不加括号会决定是否表现出多态行为
浙公网安备 33010602011771号