【发布时间】:2014-12-01 11:16:06
【问题描述】:
我想在 c++ 中用不同的参数重载虚函数,但它不起作用。
virtual void Draw( int nDeltaX, int nDeltaY);
virtual void Draw( int nDeltaX, int nDeltaY, bool m_bFlag);
你能告诉我原因吗?
【问题讨论】:
-
请详细说明您的问题。怎么不行?
-
如果你使用不同的参数,那么你不会覆盖,而是重载函数。至于你的问题,你能告诉我们你尝试了什么吗?最好创建一个Minimal, Complete, and Verifiable example 并向我们展示。还包括更多详细信息,例如您遇到的错误、预期和实际行为等。
-
我在类 Base{virtual void Draw(int nDeltaX, int nDeltaY);} 中有一个函数我想在 Derived 类中重载函数 Draw{virtual void Draw(int nDeltaX, int nDeltaY, bool m_bFlag );} 再加一个参数 bool m_bFlag.
-
请通过MCVE 澄清您的问题。我相信我知道您的问题的解决方案,但在明确您的问题到底是什么之前,我无法确定。
-
@MiroslavAvramov:您可以按照您的描述重载加载函数,并通过派生类调用它。但它不会覆盖覆盖基类函数,因为覆盖必须匹配签名才能通过基类调用而不知道派生类是什么。您能否准确描述您想要实现的目标,以及究竟出了什么问题?
标签: c++