大概应该这么写: class A { virtual void Func(int nX); } class B : public A { void Func(int nX) { //调用父类的函数实现 A::Func(int nX); }; } A* p = new B; p->Func(5);
class A { virtual void Func(int nX); } class B : public A { void Func(int nX) { //调用父类的函数实现 A::Func(int nX); }; } A* p = new B; p->Func(5);
[quote=引用 1 楼 ganpengjin1 的回复:] 那个不是重载,是重写! A* p = new B; p->Func(5); 如果父类在你的func上没有加上virtual那此时调用的父类,否则,子类的方法!
自动为虚了都
那个不是重载,是重写! A* p = new B; p->Func(5); 如果父类在你的func上没有加上virtual那此时调用的父类,否则,子类的方法!
64,651
社区成员
250,488
社区内容
加载中
试试用AI创作助手写篇文章吧