基类虚函数重写调用问题
2014-06-12 11:08
169 查看
class A
{
public:
virtual void print()
{
cout<<"A class"<<endl;
}
};
class B:public A
{
virtual void print()
{
cout<<"B class"<<endl;
}
};
A a;
a.print(); //输出A class
B b;
b.print(); //输出B class
A *a=new B;
a->print(); //输出B class
B *pb=new A;//会出现错误,赋值BUG
pb->print();
若prin函数没有声明是virtual 则
A a;
a.print(); //输出A class
B b;
b.print(); //输出A class
A *a=new B;
a->print(); //输出B class
B *pb=new A;//会出现错误,赋值BUG
pb->print();
{
public:
virtual void print()
{
cout<<"A class"<<endl;
}
};
class B:public A
{
virtual void print()
{
cout<<"B class"<<endl;
}
};
A a;
a.print(); //输出A class
B b;
b.print(); //输出B class
A *a=new B;
a->print(); //输出B class
B *pb=new A;//会出现错误,赋值BUG
pb->print();
若prin函数没有声明是virtual 则
A a;
a.print(); //输出A class
B b;
b.print(); //输出A class
A *a=new B;
a->print(); //输出B class
B *pb=new A;//会出现错误,赋值BUG
pb->print();
相关文章推荐
- 关于基类构造函数调用虚函数实际调用的不是派生类的问题的原因
- 虚函数与调用和重写基类成员函数
- 学习C#高级编程--在重写基类的方法中,如何调用基类的函数
- 关于虚函数重载遇到的怪问题 -- 为什么经常调用了基类的函数
- C++中派生类重写基类重载函数时需要注意的问题:派生类函数屏蔽基类中同名函数
- 继承和基类的虚函数的访问限制和默认参数值的问题
- 可以使用抽象函数重写基类中的虚函数吗
- 通过调用顺序表函数来求解“约瑟夫问题”
- 用内嵌汇编来解决运行时参数不确定的函数的调用问题
- 使用派生类对象通过成员函数指针调用基类虚函数之不可能性的证明
- 一个将类的构造函数调用识别成函数指针的问题
- dll的输出函数使用__stdcall调用约定后,客户端用GetProcAddress出现的问题!
- 同一页面两次调用分页函数的问题
- net中前台javascript与后台c#函数相互调用问题
- 通过成员函数指针调用基类虚函数?
- .net中前台javascript与后台c#函数相互调用问题
- .net中前台javascript与后台c#函数相互调用问题
- Prototype.AjaxRequest的调用堆栈重写问题【摘】
- pb中调用外部库函数压缩文件夹的问题!急!
- C++笔试题 关于函数析构函数未调用的问题