簡體   English   中英

C ++中具有不同參數的重載虛擬函數

[英]overload virtual function with different parameters in c++

我想在C ++中使用不同的參數重載虛擬函數,但是它不起作用。

virtual void Draw( int nDeltaX, int nDeltaY);
virtual void Draw( int nDeltaX, int nDeltaY, bool m_bFlag);

你能告訴我原因嗎?

答案是-因為這就是C ++的工作方式。 參數必須相同。 C ++ 11標准在10.3.2中說:

如果在Base類以及從Base直接或間接派生的派生類中聲明了虛擬成員函數vf,則成員函數vf具有相同的名稱,parameter-type-list(8.3.5),cv-qualification和聲明為Base :: vf的refqualifier(或不存在),則Derived :: vf也是虛擬的(無論是否聲明),它覆蓋11 1 Base :: vf。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM