一个C++有关问题

请教大家一个C++问题classA{public:void virtual print(){coutA::print()endl}}classB :public A{

请教大家一个C++问题
class A  
{
public:
 void virtual print(){cout<<"A::print()"<<endl;}
};
class B :public A 
{
public:
 void virtual print(){cout<<"B::print()"<<endl;} 
} ; 
class C :public B  

public:
 static void print(){cout<<"C::print()"<<endl;}
} ;  

A *ac;  
C c;
ac=&c;
ac->print();  
输出什么? 为什么?

[解决办法]
B::print()

C++的虚函数
[解决办法]
B::print() 
因为ac为基类的指针,一般智能调用基类的函数
对于虚函数调用派生类的函数,但是C类的print不是虚函数 因此调用B类的print
如果C修改为class C :public B

public:
//static void print(){cout <<"C::print()" <<endl;}
virtual void print(){cout <<"C::print()"<<endl;}
} ; 
则调用C类的虚函数print