class Base
{
public:
virtual void print( void ){ cout<< 10<<endl;}
};
class Dervied:public Base
{
public:
void print(int i) { cout <<i <<endl;}
};
void main(void)
{
Base* iter=new Dervied;
// iter->print(5); //基类指针会在基类对象中寻找函数,找到函数名后,判断参数,没有一个参数的,所以会报错。
Dervied item;
item.print();
//因为派生类中的函数名会屏蔽基类中的函数,所以会报错。先在派生类中寻找函数名,找到以后,判断参数,没有发现void参数的
// 所以会报错。
}
本文通过一个C++示例介绍了基类与派生类之间的虚函数与多态使用方式,展示了如何通过基类指针调用派生类的方法,并讨论了函数重写时可能遇到的问题。
2256

被折叠的 条评论
为什么被折叠?



