C/C++中虚函数的调用

时间:2025-04-20 16:04:25

代码:

 #include <iostream>

 using namespace std;

 class A{
public:
virtual void print(){
cout<<"i am A"<<endl;
}
};
class B:public A{
public:
void print(){
cout<<"i am B"<<endl;
}
};
class C:public B{
public:
void print(){
cout<<"i am C"<<endl;
}
}; int main(){ B* pB = new C;
pB->print(); //调用类C的函数
pB->A::print(); //调用类A的函数
pB->B::print(); //调用类B的函数 A* pA = new C;
pA->print(); return ;
}

输出:

i am C
i am A
i am B
i am C

分析:

调用特定的函数可能需要加上相关作用域。